【发布时间】:2010-12-15 15:24:22
【问题描述】:
我正在尝试使用会话将信息存储在表单上,以防验证返回 false,然后用户不必重新填写表单。这就是我的做法:
A页:
<?
session_start();
$Fname = $_SESSION['FirstName'];
?>
<html>
<input type="text" id="First" value="<? if($Fname){echo $Fname;}?>">
</html>
第 B 页:
<?
$Fname = $_POST['First'];
session_start();
$_SESSION['FirstName'] = $Fname;
//validation is not good then
header('Location: PageA.php');
?>
问题是,当发送回页面 A 时,输入中没有显示任何内容,但它会随机显示,或者我会刷新它可能会显示。在大多数情况下,它只是不起作用,当我修改删除一个会话变量并由于其他原因用 cookie 替换它,但决定不走那条路时,它才开始发生。 .我仍然没有看到我可以做些什么来开始导致这个问题。有任何想法吗?我认为它与 php.ini 文件有关,因为我有一个具有相同设置的单独表单,我从未接触过它,现在它在我最后一次检查时无法正常工作。
更新
我刚刚尝试了表单,我故意错误地提交了它以触发验证,正如我已经提到的那样,它给我发回了空白输入。我单击了另一个页面,然后返回表单并出现输入。似乎它的存储但没有立即被读取?不知道这是否有帮助。
【问题讨论】:
-
旁注:使用