我从表单中发布了20个结果,将在下一页上使用,是否有一种快速的预告方式:
$ UserID1 = $ _POST ['UserID1'];
ID每次更改而不是列出20多次?我想到了一个foreach声明,但我不太确定从哪开始呢?
答案 0 :(得分:2)
答案 1 :(得分:1)
foreach($_POST as $key => $value){
$$key = $value; //Assign the value to a variable named after $key
}
答案 2 :(得分:1)
其他答案可以很好地完成工作,但是会引入安全问题。
代码如:
foreach($_POST as $key => $value){
$$key = $value; //Assign the value to a variable named after $key
}
允许我将您希望的任何表单字段发布到您的页面并更改任何变量值,例如,假设您在其他地方有类似的代码:
if ($validation) { // Do something }
然后,我可以发布一个名为validation
的表单字段,其值为1
并操纵您的代码,因为这会将名为$validation
的变量分配给我选择的值。
使用该代码自动为您的所有$_POST
值分配变量,与使用register_globals
相同,因为它的blatent安全问题已被弃用。请参阅:http://www.php.net/manual/en/security.globals.php
如果必须这样做,则必须检查发布的值是否符合预期。例如,检查UserID
的存在性。如果变量以UserID
:
foreach($_POST as $key => $value) {
if (substr($key, 0, 6) == 'UserID') {
$$key = $value; //Assign the value to a variable named after $key
}
}
这将检查$_POST['UserID1']
并创建$UserID1
和$_POST['UserID2']
并创建$UserID2
...