1 回答
TA贡献1804条经验 获得超2个赞
您每次都覆盖数组:
$persons = $_SESSION['val'];
为了将数据推送到 php 中的数组,您必须这样做:
$persons[] = $_SESSION['val'];
如果您想要将所有人员存储在会话中,而无需在每次首先需要检查会话是否存在时覆盖它们,如果不存在,则创建它。
if(!isset($_SESSION['persons'])){
$_SESSION['persons'] = array()
}
然后更改您在会话中存储信息的方式,例如:
$_SESSION['persons'][] = $_POST['val'];
然后你可以这样做:
foreach($_SESSION['persons'] as $d){
echo $d;
echo '</br>';
}
所以代码看起来像:
session_start();
$persons=array();
if(!isset($_SESSION['persons'])){
$_SESSION['persons'] = array();
}
if (isset($_POST)) {
$_SESSION['persons'][] = $_POST['val'];
}
foreach($_SESSION['persons'] as $d){
echo $d;
echo '</br>';
}
<form action="exam.php" method="post">
Enter a new Person: <input type="text" name = "val">
<input type="submit" name = "send">
</form>
我没有编译代码,检查语法错误,但是程序是对的。
- 1 回答
- 0 关注
- 105 浏览
添加回答
举报