4

私はこれが完全に間違っていることを知っています、私はアプリを書きませんでした、私は新しいものに取り組んでいる間それを機能させる必要があります。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ますか?

4

3 に答える 3

8

extract説明した正確な機能を取得するために使用できます。

extract($_POST);

ここで考えられる安全上の問題に注意してください。ユーザーが追加のデータを送信$_POSTし、コード内の既存の変数の値を「上書き」する可能性があります。extractこれらの問題を防ぐために、2番目のパラメーターを渡すことができます。

extract($_POST, EXTR_SKIP);

$_POSTこれにより、現在のスコープに一致する変数がすでにある配列内のフィールドの抽出がスキップされます。

于 2012-05-14T18:53:48.233 に答える
0
foreach ($_POST  as $key => $value ) {

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

            }
        }else{

            $$key=$value;
        }

        echo $key ." : " .$value."<br>";
}
于 2012-05-14T19:01:23.630 に答える
0

あなたはこのようなことを試すことができます:

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

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

echo SUBMIT1;  // and so on
于 2012-05-14T18:57:53.927 に答える