假设我有以下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