数组作为会话变量

是否可以在PHP中使数组成为会话变量?

情况是,我有一个表(第1页),其中有些单元格具有指向特定页面的链接。下一页将列出名称(第2页,我想保留在会话数组中)及其相应的复选框。提交此表单后,它将进入一个交易页面(第3页,其中已发布复选框的值保存在数据库中以用于对应名称)。现在,如果我返回首页并单击另一个单元格,则会话数组将包含新名称列表还是旧名称列表?


拉莫斯之舞
浏览 384回答 3
3回答

牛魔王的故事

是的,PHP支持将数组作为会话变量。关于第二个问题:设置会话变量后,它将保持不变,直到您对其进行更改或更改为止unset。因此,如果第三页没有更改会话变量,它将保持不变,直到第二页再次更改它为止。

慕村225694

是的,您可以将数组放入会话中,例如:$_SESSION['name_here'] = $your_array;现在,您可以$_SESSION['name_here']在所需的任何页面上使用,但请确保session_start()在使用任何会话函数之前先将代码放在一行,因此代码应类似于以下内容: session_start(); $_SESSION['name_here'] = $your_array;可能的例子: session_start(); $_SESSION['name_here'] = $_POST;现在,您可以在任何页面上获取字段值,如下所示: echo $_SESSION['name_here']['field_name'];至于问题的第二部分,除非您分配不同的数组数据,否则会话变量将保留在该位置: $_SESSION['name_here'] = $your_array;会话生存时间设置在php.ini文件中。

BIG阳

session_start();&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; //php part$_SESSION['student']=array();$student_name=$_POST['student_name']; //student_name form field name$student_city=$_POST['city_id'];&nbsp; &nbsp;//city_id form field namearray_push($_SESSION['student'],$student_name,$student_city);&nbsp; &nbsp;//print_r($_SESSION['student']);<table class="table">&nbsp; &nbsp; &nbsp;//html part&nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp; <th>Name</th>&nbsp; &nbsp; &nbsp; <th>City</th>&nbsp; &nbsp; </tr>&nbsp; &nbsp; <tr>&nbsp; &nbsp; &nbsp;<?php for($i = 0 ; $i < count($_SESSION['student']) ; $i++) {&nbsp; &nbsp; &nbsp;echo '<td>'.$_SESSION['student'][$i].'</td>';&nbsp; &nbsp; &nbsp;}&nbsp; ?>&nbsp; &nbsp; </tr></table>
打开App,查看更多内容
随时随地看视频慕课网APP