为了账号安全,请及时绑定邮箱和手机立即绑定

如何在php会话中存储来自php表单的用户输入

如何在php会话中存储来自php表单的用户输入

PHP
达令说 2021-09-05 16:09:23
我想在 php 会话中存储来自 php 表单的用户列表我在会话开始时定义了一个空数组,并尝试在每次提交时收集用户名。  session_start();  $persons=array();  if (isset($_POST)) {    $_SESSION['val']=$_POST['val'];    $persons=$_SESSION['val'];  }  foreach($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 回答

?
慕婉清6462132

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>

我没有编译代码,检查语法错误,但是程序是对的。


查看完整回答
反对 回复 2021-09-05
  • 1 回答
  • 0 关注
  • 105 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信