我知道这是完全错误的,我没有编写应用程序,我只需要在我处理新应用程序时使其工作。似乎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
使用?
答案 0 :(得分:8)
您可以使用extract
获取您所描述的确切功能:
extract($_POST);
请注意此处可能存在的安全问题:用户可以在$_POST
中发送额外数据并“覆盖”代码中现有变量的值。您可以将第二个参数传递给extract
以防止出现这些问题:
extract($_POST, EXTR_SKIP);
这将跳过提取$_POST
数组中当前范围内已有匹配变量的任何字段。
答案 1 :(得分:0)
$_POST = array('SUBMIT1' => 'SUBMIT ONE', 'SUBMIT2' => 'SUBMIT TWO');
foreach($_POST as $k => $v) {
define(''. $k. '', $v);
}
echo SUBMIT1; // and so on
答案 2 :(得分:0)
foreach ($_POST as $key => $value ) {
if(is_array($value)){
foreach ($value as $k => $v ) {
$$k = $v ;
}
}else{
$$key=$value;
}
echo $key ." : " .$value."<br>";
}