2013-03-15 72 views
0

我想使用會話將數據添加到數組中。
我該怎麼做,請幫助我。
我的HTML形式是:使用會話將數據存儲在數組中

<form action="#" method="post"> 
    Roll No:<input type="text" name="rollno" value="" id="rollno" /> 
    <input type="submit" name="submit" value="Submit" /> 
    </form> 

我的PHP代碼:

<?php 
     session_start(); 
     $_SESSION['rollno'] = isset($_POST['rollno']); 
     echo $_SESSION['rollno'];    
    ?> 

我想沒有插入擀成一個陣列。

我有10個學生的記錄。當我插入第一個學生卷號時,它會打印卷號,但當我插入第二個學生卷號時,它會覆蓋第一個學生記錄。

我想在同一頁面上顯示所有10個學生卷號。
我該怎麼做?

+0

然後,只需追加到數組中。 – 2013-03-15 11:56:12

+2

使會話變成一個數組並使用'array_push'來添加它 – ethrbunny 2013-03-15 11:56:42

+0

我從來沒有使用'#'作爲諸如'

'的動作。認爲這是一個好主意? – user1032531 2013-03-15 12:00:56

回答

2
  1. 開始你出去把之前的任何東西到頁面中,前即HTML代碼中的會話

  2. 創建會話一多維數組

  3. isset($_POST['rollno']);

    <?php 
         session_start(); 
         $_SESSION['rollno'][] = $_POST['rollno']; 
         print_r($_SESSION['rollno']);    
    ?> 
    
  4. 刪除 isset
+0

如何創建多維數組? – 2013-03-15 12:08:57

+0

@AnjaniGupta。 PHP將自動生成它。如果您將其定義爲當前未設置的可讀性,則可能會更具可讀性。 – user1032531 2013-03-15 12:12:48

0
session_start(); 
if(isset($_POST['submit'])){ 
    if(isset($_POST['rollno'])){ 
     $_SESSION['rollno'] = $_POST['rollno']; 
     echo $_SESSION['rollno'];   
    } 
} 

首先檢查表單是否已提交,然後設置roll,如果是,則將其分配給會話var。

0

幾乎有

<?php 
    session_start(); 
    !isset($_SESSION['rollno']){$_SESSION['rollno']=array();} 
    $_SESSION['rollno'][] = $_POST['rollno']; 
?> 

此外,建議設置動作的東西:

echo("<form action={$_SERVER['PHP_SELF']} method='post'>"); 

有些人不喜歡用PHP_SELF和建議硬編碼它

1

$_SESSION['rollno']應該是一個數組不是一個簡單的變量。

事情是這樣的:

<?php 
    //Define somewhere $_SESSION['rollno'] as array. ONLY ONCE. Note that session must be started. 
    session_start(); 
    if (!isset($_SESSION['rollno'])){ 
     $_SESSION['rollno'] = array(); 
    } 


    if(isset($_POST['rollno'])){ 
     array_push($_SESSION['rollno'],$_POST['rollno']); 
    } 
    foreach ($_SESSION['rollno'] as $item){ 
     echo $item; 
    } 
    ?> 
+1

在使用sesssions之前需要session_start()。 – user1032531 2013-03-15 12:03:27

+0

@ user1032531你是對的,編輯和修復。 – Ander2 2013-03-15 12:03:50

+0

我試過這個,但它只打印上次插入的值。我必須打印所有10條記錄。 – 2013-03-15 12:23:52

0

我知道了!

讓我們試試:

<?php 
session_start(); 
$_SESSION['rollno'] = Array(); 
$_SESSION['rollno'][] = $_POST['rollno']; 
$_SESSION['rollno'][] = $_POST['rollno']; 
var_dump($_SESSION['rollno']); 
?> 

您可以從環太訪問它.. 好運