我正在尝试使用会话来保存表单输入,但它只适用于最后提交的表单。
我有一个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所以基本上,它总是打印最后提交的表单,其他的只是空格。
有没有其他方法可以做到这一点,或者我做得对吗?
附言:我不能使用数据库。
发布于 2017-11-05 09:49:13
毫不奇怪,每个会话都有一个新的$_SESSION,因此以这种方式存储任何信息都不会起作用。
如果你想跨会话持久化数据,你必须在某个地方持久化它。例如,如果您不能使用数据库,请考虑将其写入文件。
https://stackoverflow.com/questions/47117380
复制相似问题