我必须使用会话存储表格数据,即学生的卷号和标记。 当我这样做时,在提交表单后,新值会覆盖以前的值。 我想用新索引在前一个值旁边的数组中添加值。
这是我的表格
<form action="#" method="post">
Roll No:<input type="text" name="rollno" value="" id="rollno" />
Marks:<input type="text" name="marks" value="" id="marks" />
<input type="submit" name="submit" value="Submit" onclick="return validate();" />
</form>
和
<?php
session_start();
//session_destroy();
$_SESSION['status'] = array();
$_SESSION['status'][] = @$_POST['rollno'];
$_SESSION['status'][] = @$_POST['marks'];
print_r($_SESSION['status']);
?>
我该怎么做才能帮助我?
答案 0 :(得分:1)
这是一种方式......
<?php
session_start();
$i=0;
while(isset($_SESSION[$i])) $i++;
$_SESSION[$i]['rollno'] = $_POST['rollno'];
$_SESSION[$i]['marks'] = $_POST['marks'];
-
-
-
?>
答案 1 :(得分:0)
您可以将序列化数组添加到如下会话中:
$_SESSION['key'] = serialize($yourArray);
然后,当您想要添加内容时,只需将其反序列化,修改并将其放回会话中。
答案 2 :(得分:0)
我将用样本解释
<?php
session_start();
$_SESSION['data']= array();
$details1=array('pappu','10');
$details2=array('tippu','12');
array_push($_SESSION['data'],$details1);
array_push($_SESSION['data'],$details2);
foreach ($_SESSION['data'] as $eacharray) {
while (list(, $value) = each ($eacharray)) {
echo "Value: $value<br>\n";
}
}
?>
输出
价值:pappu
价值:10
价值:tippu
价值:12
您可以尝试
$rollArray=array($_POST['rollno'],$_POST['marks']);
array_push($_SESSION['status'], $rollArray);
foreach ($_SESSION['status'] as $eacharray) {
while (list(, $value) = each ($eacharray)) {
echo "Value: $value<br>\n";
}
}