PHP:翻译成POST简单变量?(PHP: translate POST into simple v

2019-07-29 09:05发布

我知道这是完全错误的,我没有写的应用程序,我只是做,而我的新工作之一它的工作。 好像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

Answer 1:

您可以使用extract来获得您所描述的具体功能:

extract($_POST);

请注意这里可能的安全问题:用户可以在发送额外的数据$_POST和代码“覆盖”现有变量的值。 你可以通过第二个参数来extract ,以防止这些问题:

extract($_POST, EXTR_SKIP);

这将跳过提取任何领域$_POST阵列已经在当前范围内匹配的变量。



Answer 2:

你可以尝试这样的事:

$_POST =  array('SUBMIT1' => 'SUBMIT ONE', 'SUBMIT2' => 'SUBMIT  TWO');

foreach($_POST as $k => $v) {
    define(''. $k. '', $v);
}

echo SUBMIT1;  // and so on


Answer 3:

foreach ($_POST  as $key => $value ) {

        if(is_array($value)){
            foreach ($value as $k => $v ) {
                $$k = $v ;

            }
        }else{

            $$key=$value;
        }

        echo $key ." : " .$value."<br>";
}


文章来源: PHP: translate POST into simple variables?
标签: php forms