我终于得到了我的注册页面的第一页。在继续下一页之前,用户 选择三个选项之一。我现在 的问题是第一页没有将数据发送到下一页。这是
的代码Registration_1.php:
$reg_type = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
if (!empty($_POST["Reg_type"])) {
//$reg_type=$_POST["Reg_type"];
//header('Location: Registration_2.php?rtype='.$reg_type);
$reg_type=$_POST["Reg_type"];
header('Location: Registration_2.php');
}
}
?>
<form name="frmtype" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]);?>" method="post" >
<input type="radio" name="Reg_type" value="1"/> Registering myself with credit card or bank account <br/>
<input type="radio" name="Reg_type" value="2"/> Registering multiple people using credit card or bank account <br/>
<input type="radio" name="Reg_type" value="3"/> Registering multiple people using a purchase order <br/>
<input type="submit" name="Submit" value="Submit" />
<?php
if(isset($_POST["Submit"]) && !isset($_POST["Reg_type"]))
echo "Please select an option";
?>
</form>
Registration_2.php
<?php
$regtype=$_POST["Reg_type"];
echo "regtype value is:" . $regtype;
if($regtype==1) {
?>
但是regtype是空白的,这意味着我没有从上一页获得任何数据。谁能告诉我这是什么问题?
答案 0 :(得分:2)
session_start();
$reg_type=$_POST["Reg_type"];
$_SESSION['cust_type'] = $reg_type;
并在任何页面中
session_start();
echo $_SESSION['cust_type'];
获取更多信息,
http://matthom.com/archive/2005/02/19/php-passing-variables-across-pages
http://www.plus2net.com/php_tutorial/variables.php
PHP Pass variable to next page
http://mrarrowhead.com/index.php?page=php_passing_variables.php
答案 1 :(得分:1)
这是因为您正在进行重定向,因此帖子数据不再存在。
您有几个选择。 您可以执行包含。而不是进行重定向。
您可以存储数据(会话,数据库等)
您可以将数据附加到重定向
header('Location: Registration_2.php?Reg_type=' . $_POST['Reg_type');
然后在Registration_2上使用$ _GET而不是发布。
答案 2 :(得分:0)
您将表单发布到第1页,然后重定向到第2页。由于重定向(帖子未随身携带),Page2无法访问发布的数据。
您应该做的是处理第1页中的数据并在重定向之前存储它(例如,在会话中,或使用像您一样注释掉的查询字符串)。
另一个注意事项,当您使用header
呼叫重定向时,请确保您之后立即exit
或die
提及php documentation提及(因为您无法保证页面将停止处理)。
答案 3 :(得分:0)
首先,当您使用header
重定向时,POST变量将丢失。您需要使用GET传递变量,以便在Registration_2.php上检索它们。
Registration_1.php
//...
header('Location: Registration_2.php?Reg_type=' . $_POST["Reg_type"]);
//...
和Registration_2.php:
$regtype=$_GET["Reg_type"];
echo "regtype value is:" . $regtype; if($regtype==1) {