假設我有以下PHP代碼,它嘗試從名爲$arr
的數組中讀取數據,該數組的值爲 {全名,學號,電子郵件}。在提交我的HTML表單後,此PHP代碼將執行foreach循環,並將發佈到頁面的值存儲在$_SESSION
數組中。表單提交:在foreach循環中的PHP S_SESSION語句
foreach($arr as $field):
$_SESSION[$field] = $_POST[$field];
endforeach;
上述代碼不能按預期工作。如果我要用下面的代碼替換上面的代碼塊,我的頁面上的字段中的值將正確存儲在$_SESSION
陣列中。
$_SESSION[fullname] = $_POST[fullname];
$_SESSION[studentnumber] = $_POST[studentnumber];
$_SESSION[email] = $_POST[email];
如何以高效和可擴展的方式實現這一目標?我不希望每次向表單添加新字段時都必須編寫新的$ _SESSION語句。
編輯://第一個代碼塊實際上按預期工作。最初有一個錯字!
你有什麼_should_工作,提供'$ arr'填充作爲數組'$ ARR =陣列('全名','studentnumber','email')' – 2013-02-09 00:41:15
鑑於你有沒有引號的數組鍵,我們必須假設你沒有打開錯誤報告,所以在你的代碼中可能會有一些其他問題。 '的error_reporting(E_ALL); ini_set('display_errors',1);'你會看到一堆關於使用未定義常量的通知..這些數組鍵應該像'$ _SESSION ['fullname']' – 2013-02-09 00:42:36
一樣被引用。 $ POST中有一個輸入錯誤;它應該是$ _POST!不能相信我忽視了那一個。感謝Michael和@asifrc的回覆。對不起,以瑣碎的方式打擾你們。 – Kevcom 2013-02-09 02:11:10