我知道这是完全错误的,我没有写的应用程序,我只是做,而我的新工作之一它的工作。 好像GoDaddy的进行了一些更新我们的帐户,所以现在有一些事情,不工作。 我已经打开注册全局和很多东西回到正常。 现在,这不工作...
有一个隐藏字段<input type="hidden" name="SUBMIT1" value="1" />
有该字段的检查
if($SUBMIT1) {
// this part never gets executed.
}
我知道我可以很容易地通过这样做,而不是修复它?
if($_POST['SUBMIT1']) {
// this part never gets executed.
}
问题是,这是一个巨大的应用程序,它会采取过长...时间去做这些事情随处可见。 有没有一种方法或设置时提交表单时,我可以打开,这样$_POST['WHATEVER']
也可以作为$WHATEVER
?
您可以使用extract
来获得您所描述的具体功能:
extract($_POST);
请注意这里可能的安全问题:用户可以在发送额外的数据$_POST
和代码“覆盖”现有变量的值。 你可以通过第二个参数来extract
,以防止这些问题:
extract($_POST, EXTR_SKIP);
这将跳过提取任何领域$_POST
阵列已经在当前范围内匹配的变量。
你可以尝试这样的事:
$_POST = array('SUBMIT1' => 'SUBMIT ONE', 'SUBMIT2' => 'SUBMIT TWO');
foreach($_POST as $k => $v) {
define(''. $k. '', $v);
}
echo SUBMIT1; // and so on
foreach ($_POST as $key => $value ) {
if(is_array($value)){
foreach ($value as $k => $v ) {
$$k = $v ;
}
}else{
$$key=$value;
}
echo $key ." : " .$value."<br>";
}