我有一个正在构建的多页表单网站。
我在用
$_SESSION['X']=$_POST['X']
将表单中的变量存储到结果发布到的页面上的会话中。
表单是动态生成的,以便使用会话变量填充字段
$X=$_SESSION['X']
和
(value="$X")
这样,当用户单击返回(带有页面 URL 的按钮,而不是历史记录 -1)时,页面将使用他们之前输入的值进行重组。
我的问题是这适用于一页(即他们可以返回一页并查看值),但是 2 页所有值都是空白的。
一旦值存储在 SESSION 中,它们不应该在浏览器会话期间保留吗?它们不会被覆盖。我误解了会话吗?任何帮助表示赞赏。
代码示例:
第 1 页:
session_start();
//populates fields if session value set for this variable
$sv_01=$_SESSION['sv_01'];
<<<EOT
<form action="page 2 URL" method="post">
<label> q1 <input value=$sv_01 title="title" type="text" name="sv_01">
<input type="submit" value="Continue" />
</form>
EOT;
第2页:
session_start();
//stores POST data from page 1 in the session
$_SESSION['sv_01']=$_POST['sv_01']
//populates fields if session value set for this variable
$sv_02=$_SESSION['sv_02'];
<<<EOT
<form action="page 3 URL" method="post">
<label> q2 <input value=$sv_02 title="title" type="text" name="sv_02">
<input onclick="page 1 URL';" type="button" value="Back" /> <input type="submit" value="Continue" />
</form>
EOT;
第 3 页:
session_start();
//stores POST data from page 2 in the session
$_SESSION['sv_02']=$_POST['sv_02']
//populates fields if session value set for this variable
$sv_03=$_SESSION['sv_03'];
<<<EOT
<form action="page 4 URL" method="post">
<label> q3 <input value=$sv_03 title="title" type="text" name="sv_03">
<input onclick="page 2 URL';" type="button" value="Back" /> <input type="submit" value="Continue" />
</form>
EOT;
从第 3 页移到第 2 页会很好 - 第 2 页也可以移到第 1 页,但是从第 3 页移到第 1 页会导致第 1 页为空白。
有任何想法吗?非常感激