2016-03-13 23 views
0

我的表單中有4個輸入字段。將多行存儲在表單上的會話數組中提交

一)名稱
B)地址
三)成本
d)組合

我想要得到的字段(提交時)的值,並把它們放在會議。我想在會話中存儲多行,所以我使用了一個數組。以下是代碼:

if($_SERVER['REQUEST_METHOD'] == 'POST') { 
    $_SESSION['arr'] = array(); 
    $_SESSION['arr'][] = $_POST['name']; 
    $_SESSION['arr'][] = $_POST['addr']; 
    $_SESSION['arr'][] = $_POST['cost']; 
    $_SESSION['arr'][] = $_POST['combo']; 
} 

我在迭代的方式如下:

foreach ($_SESSION['arr'] as $item) { 
    echo $item; 
} 

這是行不通的。我究竟做錯了什麼?

我還想指出,我稍後想要將我的會話數組的行插入到MySQL表中。

回答

0

首先,我需要你澄清一件事。您是否試圖在會話中的鍵值對中獲取POST數據?事情是這樣的: -

Array 
(
    [arr] => Array 
    (
     [name] => XYZ 
     [addr] => ABC 
     [cost] => 100 
     [combo] => ABCD 
    ) 

) 

如果是這樣,你可以試試這個:

if($_SERVER['REQUEST_METHOD'] == 'POST') { 

    $_SESSION['arr'][] = array(
     "name" => $_POST['name'], 
     "addr" => $_POST['addr'], 
     "cost" => $_POST['cost'], 
     "combo" => $_POST['combo'] 
    ); 
} 

如果你讓我知道你想在這裏印什麼,太以哪種方式,即」 d讓事情變得更容易。

希望這會有所幫助。

和平! xD

+0

感謝您的回覆。我沒有使用key:value對。但我會試一試。再次感謝!! –

+0

我只是想獲取我的表單數據並將它們存儲在會話數組中。用戶將不斷添加多個項目。所以我想保留會話中的所有項目,並最終在用戶完成添加時,我會將數據插入到數據庫中。這是整個想法。順便說一下,我已經嘗試了你上面描述的方式,但它不起作用。 :( –

+0

哦,好吧,這是因爲我寫的方式,它每次都創建一個新的數組,請看看我的新答案,我已將$ _SESSION ['arr']更改爲$ _SESSION ['arr' ] []。這將工作得很好!:) –