我知道这是完全错误的,我没有编写应用程序,我只需要在开发新应用程序时让它工作。似乎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>";
}