-1

こういう行動が気になります。以下のコードを想定します。

<form name="myfrom" action="" method="post">
    Username: <input type="text" name="user" id="username" />
    <input type="submit" name="submit_form" value="Submit" />
</form>

<?php
    if($_POST['submit_form'] == "Submit") {
        echo "do something";
    }
?>

それが機能する理由は何ですか?送信ボタンをクリックすると、ページが再度リロードされ、PHP スクリプトが再度実行されるためでしょうか。説明はありますか?

4

1 に答える 1

0

つまり、フォームが送信されたときにテストする方法は次のとおりです。

<form name="myfrom" action="" method="post">
    Username: <input type="text" name="user" id="username" />
    <input type="submit" name="submit_form" value="Submit" />
</form> 

<?php if(isset($_POST['user'])) {
    echo "do something";
}
?>

そして、テストif($_POST['submit_form'] == "Submit")するとtrueになります..つまり、1 ...

POST メソッドを使用して PHP フォームを送信すると、舞台裏で次のことが起こります。

  • サーバーはすべての HTML 入力要素の値を取得し、それらの名前も取得します...
  • 次に、サーバーは、名前と値を次の方法で POST 配列に入れます。

{'name1'=>'value1','name2'=>'value2','name3'=>'value3','name4'=>'value4'...'name_n_'=>'value_n_'}

テキスト フィールドにテキストを入力して、テキスト フィールドの値を変更します。ただし、ユーザーは送信ボタンの値、つまり送信ボタンに表示されるテキストを実際に変更することはできません。したがってecho $_POST['submit_form']、HTMLで設定した値を常に取得すると言うとき、つまり送信

それが役立つことを願っています...

于 2013-08-18T06:41:06.710 に答える