2013-03-14 147 views
0

我必須使用會話存儲表格數據,即卷號和學生在數組中的標記。 當我這樣做時,在提交表單後,以前的值將被新值覆蓋。 我想用一個新的索引將數組中的值添加到前一個值旁邊。如何使用會話將數據存儲在數組中?

這裏是我的形式

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

我怎樣才能做到這一點,請幫助我嗎?然後

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

當你要添加的東西,只是反序列化它,修改:

+0

您能解釋一下您準備添加新數據的位置嗎?接下來是有點模糊。添加數組的前一個和新狀態的示例。 – vedarthk 2013-03-14 12:41:57

+0

它是'沒有'或'沒有'嗎? – Antony 2013-03-14 12:45:04

+0

使用'isset'來檢查是否設置了變量,而不是使用'@'來抑制通知。 – insertusernamehere 2013-03-14 12:45:51

回答

1

這是一種方式......

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

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

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

你好,先生,謝謝你的回覆,但它不工作。實際上,我必須在表格中逐一插入10個學生記錄,並在同一頁面上顯示輸出。當我添加第一個學生記錄然後顯示輸出,但是當我插入第二個學生記錄時,它只顯示第二個學生記錄。我也想顯示以前的記錄。 – 2013-03-15 06:20:51

+0

發佈您的確切代碼 – 2013-03-15 10:24:55

0

您可以添加一個序列化的陣列到會話這樣並放回到你的會話中。

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
值:蒂珀
值: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"; 
    } 
    } 
+0

您好先生,感謝您的回覆,但它不工作。實際上,我必須在表格中逐一插入10個學生記錄,並在同一頁面上顯示輸出。當我添加第一個學生記錄然後顯示輸出,但是當我插入第二個學生記錄時,它只顯示第二個學生記錄。我也想顯示以前的記錄。 – 2013-03-15 06:44:05

相關問題