【发布时间】:2014-07-07 04:55:55
【问题描述】:
我想通过三个页面传递变量。 我目前使用的方法是:
Fist Page 有一个表单,例如
input type=”text” name=”username”第二页使用
$_POST函数从第一页的表单接收输入 例如$username=$_POST[“username”]为了保存第一页的信息,我在第二页创建了一个会话,并将输入存储在其中,例如如下:
$_SESSION[“username”]=$username然后我导航到第三页并开始我的会话。如果我从会话中回显存储的输入,服务器将返回“未定义变量
username”。我猜是这样,因为变量 $username 的定义是$_POST[“username”],在这种情况下,该帖子没有输入(在第三页上)。
当然,我尝试使用 print()/print_r() 函数将变量 $username 转换为字符串和/或文本。不会改变任何东西。
有人对此问题有任何解决方案或变通方法吗?
我想出了一个简单的方法来解决一个问题:只需在第二页的第一页上重新创建表单的副本value=$_POST[“username”]……。但我需要这是一个会话,因为这三个页面不是线性的(换句话说,不是步骤 1、2、3,而是步骤 1、2、1、3 等)。
如果有帮助:这是一个三页的注册表单(无密码)。最后,必须能够导航回页面以检查输入(因此数据需要存储在某处以便在输入字段中调用它)。
代码页一(输入在表格中,左列指定输入是什么,右列指定输入字段):
<table>
<tr>
<td class="table_column_1"><p>Title </p></td>
<td>
<p><select name="title" class="dropdown" style="width:145px">
<option>Bitte waehlen</option>
<option value="Frau">Mr</option>
<option value="Herr">Mrs</option>
</select></p>
</td>
<tr>
<td class="table_column_1"><p>First name: </p></td>
<td><p><input type="text" name="firstname"</p>
</td>
</tr>
<tr>
<td><p>Surname: </p></td>
<td><p><input type="text" name="surname" /></p></td>
</tr>
<tr>
<td><p>Email: </p></td>
<td><p><input type="email" name="email" /></p></td>
</tr>
<tr>
<td><p>Company: </p></td>
<td><p><input type="text" name="company" /></p></td>
</tr>
<tr>
<td class="table_column_1"><p>Department: </p></td>
<td><p><input type="text" name="department" /></p></td>
</tr>
</table>
代码页二:
<?php
//Change variable to text/string
$title=print_r($_POST["title"]);
$firstname=print_r($_POST["firstname"]);
$surname=print_r($_POST["surname"]);
$email=print_r($_POST["email"]);
$company=print_r($_POST["company"]);
$department=print_r($_POST["department"]);
if ($title != "Bitte waehlen" && $firstname != "" && $surname != "" && $email != "" && $company != "" &&$department != ""){
session_start(1);
echo "Session: RUNNING";
//list for registration values
$_SESSION["registration"]="YES";
$_SESSION["title"]=$title;
$_SESSION["firstname"]=$firstname;
$_SESSION["surname"]=$surname;
$_SESSION["email"]=$email;
$_SESSION["company"]=$company;
$_SESSION["department"]=$department;
//Test session department and variable firstname validity
echo $_SESSION["department"];
echo $firstname;
}
else{
session_start(1);
$_SESSION["registration"]="NO";
echo "Session: NO";
header("location: registration.php");
};
?>
代码页三:
<?php
session_start(1);
echo "Session: RUNNING";
//Check if session department data is returnable => no
echo $_SESSION["department"];
?>
【问题讨论】:
-
你能给我们看看代码吗?
-
您是否已在第 3 步中开始会话?
-
你是用word写的吗?您经常使用
“和”,这会影响您的代码。 -
是的,我如何在不被本网站自动删除“”的情况下发布代码。
-
会话在第二页开始
标签: php html forms session post