POST Parameter

POST でパラメータを渡す方法と、受け取る方法です。

PHP プログラムの説明

  1. ブラウザのゲームでは、次々とページを切り替えながらゲームが進行します。
    このとき問題になるのが制御変数の値で、普通のゲームでは設定された値はゲームが終了するまで保持されますが、ブラウザゲームではページが切り替わる度に初期化されます。
    そこでセマンティック(ゲーム状態の連続性)を確保する必要があります。
    幾つかの方法が考えられるのですが、代表的なものはサーバーのファイル(データベースなど)に記録する方法と、少量のデータは次のページを呼び出す時にパラメータとして渡す方法です。
    パラメータとして渡す方法には GET で渡す方法と POST で渡す方法があります。
    GET で渡すとパラメータが丸見えになり文字列長にも制限があるのに対して、POST を使うと隠匿することが出来て制限も無くなります。
    今回は POST でパラメータを渡す方法と受け取る方法です。
  2. param_post.php のソースコードを Shift-JIS でタイプしてサーバーにアップロードして下さい。
    "v1", "v2", "v3" で渡された3個のパラメータを取得して、ページに表示します。
    param_post.php は param_get.php の $_GET が $_POST に置き換わっただけです。
    $_GET の説明は GET Parameter を参照して下さい。
    PHP のコードだけですが param_post.php の全ソースコードです。
    <?php
        $v1= $_POST["v1"];
        $v2= $_POST["v2"];
        $v3= $_POST["v3"];
        print "<p>$v1<br>$v2<br>$v3<br></p>";
    ?>
    
  3. 一般的にパラメータを設定して呼び出すときは Form が使われます。
    クエリ送信をクリックすると "param_post.php" が呼び出されるので試して下さい。
    DATA-1: DATA-2: DATA-3:
    クエリ送信は PHP が起動するサーバー上に置いて実行して下さい。
    クライアントで実行するとソースコードが表示されるだけです。
  4. Form のソースコードです。
    action="param_post.php" が Form から呼び出されるプログラムです。
    <form action="param_post.php" method="post">
      DATA-1: <input type="text" name="v1" value="1"/>
      DATA-2: <input type="text" name="v2" value="23"/>
      DATA-3: <input type="text" name="v3" value="XYZ"/>
      <input type="submit" />
    </form>
    
    GET で渡すプログラム例は 再起呼び出し を参照して下さい。
    POST で渡すプログラム例は 数当てゲーム を参照して下さい。
  5. GET Parameter では param_get.php に続いて「?」で直接パラメータを設定しましたが、POST ではこの方法は使えません。
    ネットで検索すると file_get_contents を使う方法がヒットするのですが、本当にこの方法が使えるのでしょうか?
    file_get_contents の説明は file_get_contents を参照して下さい。
    パラメータは全て文字列として渡されます。
    はっきり数値(int)として受け取るときは intval() 関数などを使って下さい。
    $v1= intval($_GET["v1"]);
    
    var_dump() を使うと領域の属性と値を印字してくれます。
    var_dump($v1);
    

前田稔の超初心者のプログラム入門
PHP Program