【问题标题】:How to get data from a form and redirect the user to another page?如何从表单中获取数据并将用户重定向到另一个页面?
【发布时间】:2013-11-28 17:18:23
【问题描述】:

我有一个表格,您可以在下面看到。当按下提交按钮时,我想要一个名为“Orders.php”的脚本将所有数据发送到数据库。此外,当按下按钮时,我希望用户被重定向到另一个页面。问题是现在当php文件在action属性中时,用户看到的是php代码..

关于如何解决这个问题的任何想法?

HTML

<form id="TheForm" action="orders.php" method="post">
            <div id="Row">
                <input type="text" id="Name" placeholder="*Förnamn" required >
                <input type="text" id="Surname" placeholder="*Efternamn" required >
            </div>      
            <div id="Row">
                <input type="email" id="FirstEmail" placeholder="*e-postadress" autocomplete="on" required >
                <input type="email" id="SecondEmail" placeholder="*Verifiera e-postadress" autocomplete="off" required >
            </div>
            <div id="Row">
                <input type="text" id="Town" placeholder="*Ort" required >
            </div>  
            <div id="Row"> 
                <input type="text" id="Address" placeholder="*Adress" required >
            </div>
            <div id="Row">
                <input type="text" id="PostCode" placeholder="*Postnummer" required >
            </div>
            <div id="Row">
                <input type="text" id="MobileNumber"  placeholder="*Mobilnummer" required >
                <input type="text" id="TelephoneNumber" placeholder="Telefonnummer" >
            </div>
            <textarea id="Comment" placeholder="Förslag på hur vi skulle kunna förbättra oss!"></textarea>
            <input type="submit" id="Submit" onclick="SlutSidan.html" value="Skicka">
        </form>

Orders.php

    <?php
$connect = mysql_connect(“server_name”, “admin_name”, “password”); 
if (!connect) 
{ 
    die('Connection Failed: ' . mysql_error()); 
}
mysql_select_db(“database_name”, $connect);

非常感谢您的帮助!

【问题讨论】:

  • 用户如何查看php代码?您的服务器是否配置正确,可以正确运行 php 文件?
  • 不是真正有经验的 webdev.. 不确定服务器的情况。他们将代码视为 php 是一个 html 文件
  • 没有“服务器井”之类的东西。 “well”是修饰“configured”的副词。
  • lol sry... 我不关心 php 代码,因为我关心将所有数据发送到 .php 并同时重定向

标签: php html forms submit


【解决方案1】:

您可以在$_POST 变量中找到您的表单数据,例如$_POST['name']

要将其转发到另一个页面,您可以使用以下功能

header( "Location: url/to/mySecondPage.php" );

【讨论】:

  • 第一:在php代码中?第二:在html文件中还是在form标签中?
  • 有没有一种方法可以在将数据发送到 php 的同时将它们重定向到另一个页面?还是必须在php中完成?
  • 它必须在 php 中完成,也许你错过了打开 php 标签检查你的代码是否为&lt;?php,这是我唯一能想到的让你的 php 代码显示为它的想法一个html代码
【解决方案2】:

我的建议

改变你的形式

现在它将把你的用户带到你想让他去的地方

<form id="TheForm" action="users/final/destination.php" method="post">
  <!-- add this hidden input -->
  <input type="hidden" name="actionScript" value="orders" />
  ...
</form>

更改users/final/destination.php

这应该在文件的顶部

<?php
// Check if this file has been requested through your form
if (isset($_POST['actionScript'])) {
  // you may want to encapsulate this in a function
  ob_start();
  require 'orders.php';
  $debug_info = ob_get_clean();
}
// done, now do everything you wanted in usersFinalDestination.php
  • 不需要标头重定向
  • 您可能希望记录您的调试信息以查找错误
  • 您可以将orders.php 脚本封装在一个函数中以避免变量冲突

【讨论】:

    【解决方案3】:
    Okay, first here is your HTML file:
    
    <!-- HTML FILE -->
    
    YOU MUST HAVE "name" attribute in "input" tag to use its value in php file.
    
    <form id="TheForm" action="orders.php" method="post">
       <div id="Row">
                    <input type="text" id="Name" name="Name">
                    <input type="text" id="Surname" name="Surname" >
        </div>  
    
    </form>
    
    Now here is your PHP file (just be sure to put "<?php" at starting and "?>" at end of php file ):
    orders.php
    
    <?php 
    
    
    $connect = mysql_connect(“server_name”, “admin_name”, “password”); 
    if (!connect) 
    { 
        die('Connection Failed: ' . mysql_error()); 
    }
    mysql_select_db(“database_name”, $connect);
    
    $_POST["Name"];//to access input field value with name="Name"
    $_POST["Surname"];// to access input field value with name="Surname"
    
    //Once you are done with saving data to database you can redirect to another page using:
    
    header("Location:  redirect.php");
    
    
    ?>
    

    【讨论】:

      猜你喜欢
      • 2013-12-17
      • 1970-01-01
      • 2016-02-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-10
      • 2012-04-05
      相关资源
      最近更新 更多