我尝试使用会话来保存表单输入,但它仅适用于最后提交的表单。
我有一个index.php,如下所示:
<?php
session_start();
$_SESSION['number-of-sessions'] = 0; ?>
...
然后,有一个指向form.php的链接:
...
<form action='display.php' method='post'>
<input type='text' name='name'/>
<input type='text' name='id'/>
<input type='submit' value="Submit"/>
...
这里有display.php:
<?php
session_start();
$_SESSION['number-of-sessions']++;
$_SESSION[$_SESSION['number-of-sessions']] = $_POST;
?>
...
<?php
for($i = 1; $i <= $_SESSION['number-of-sessions']; $i++) {
print_r($_SESSION[$i]));
}
?>
// another link that goes back to form.php
所以基本上,它总是打印提交的最后一个表单,其他表只是空格。
还有其他方法可以做到这一点,还是我做得对?
p.s:我不能使用数据库。
答案 0 :(得分:0)
毫不奇怪,每个会话都有一个新的$_SESSION
,因此以任何方式存储任何信息都不会有效。
如果要跨会话保留数据,则必须将其保留在某个位置。例如,如果您不能使用数据库,请考虑将其写入文件。