簡體   English   中英

如何使用會話將表單數據存儲在數組中?

[英]how to store form data in an array using session?

我必須使用會話將表格數據(即卷的編號和學生的成績)存儲在數組中。 當我這樣做時,提交表單后,以前的值將被新值覆蓋。 我想將數組中的值添加到具有新索引的上一個值旁邊。

這是我的表格

<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']);                    
?>

我該怎么辦,請幫幫我?

這是一種方法

<?php
session_start();
$i=0;

while(isset($_SESSION[$i])) $i++;

$_SESSION[$i]['rollno'] = $_POST['rollno'];
$_SESSION[$i]['marks'] = $_POST['marks'];
-
-
-
?>

您可以像這樣向會話添加序列化數組:

$_SESSION['key'] = serialize($yourArray);

然后,當您要添加某些內容時,只需對其進行反序列化,修改並將其放回會話中即可。

我會用樣本解釋

  <?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";
    }
    }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM