是否可以在PHP中使数组成为会话变量?
情况是我有一个表(第1页),其中有些单元格具有指向特定页面的链接。下一页将列出名称(第2页,我想保留在会话数组中)及其相应的复选框。提交此表格后,它将进入一个交易页面(第3页,其中已发布复选框的值保存在数据库中以用于对应名称)。现在,如果我返回首页并单击另一个单元格,则会话数组将包含新名称列表还是旧名称列表?
Answers:
是的,您可以将数组放入会话中,例如:
$_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文件中。
session_start(); //php part
$_SESSION['student']=array();
$student_name=$_POST['student_name']; //student_name form field name
$student_city=$_POST['city_id']; //city_id form field name
array_push($_SESSION['student'],$student_name,$student_city);
//print_r($_SESSION['student']);
<table class="table"> //html part
<tr>
<th>Name</th>
<th>City</th>
</tr>
<tr>
<?php for($i = 0 ; $i < count($_SESSION['student']) ; $i++) {
echo '<td>'.$_SESSION['student'][$i].'</td>';
} ?>
</tr>
</table>