POST で送信

Javascript を使って POST でメッセージを送信します。

プログラムの説明

  1. ホームページを呼び出すときに、パラメータを渡す方法には GET と POST があります。
    GET で渡すとパラメータが丸見えになり文字列長にも制限があるのに対して、POST を使うと隠匿することが出来て制限も無くなります。
    このページでは Javascript を使って POST でメッセージを送信する方法を紹介します。
  2. 最初に POST で渡されたメッセージを受け取るプログラムを PHP で作成します。
    post_data.php の名前で PHP をサポートしているサーバーにアップロードして下さい。
    私の場合は "http://maedakobe.rw.xsi.jp/php/post_data.php" にアップロードしました。
    処理の内容は "data" で渡されたパラメ-タを受け取って print で印字するだけです。
    <?php
    $data = $_POST["data"];
    print "<p>POST Parameter<br>$data</p>";
    ?>
    
  3. 下記のリンクをクリックするとタイプしたデータが POST で post_data.php に送信されます。
    form から DATA をタイプして POST で送信(post_test.html)
  4. post_test.html のソースコードです。
    <!DOCTYPE html>
    <html lang="ja">
    <head> 
    <meta charset="utf-8">
    </head>
     
    <body>
    <form action="http://maedakobe.rw.xsi.jp/php/post_data.php" method="post">
      DATA: <input type="text" name="data" value="Hello"/>
      <input type="submit" />
    </form>
    </body> 
    </html>
    
  1. POST で送信する処理を form を使わずに汎用性のある関数で定義します。
    リンクをクリックすると 'POST Test hello world!' が送信されます。
    POST 送信を関数で定義(post_test2.html)
  2. post_test2.html のソースコードです。
    postForm() が送信する関数で、value が送信するメッセージです。
    <html>
    <head>
    <meta charset="UTF-8">
    <title>Dialog</title>
    <script>
    function postForm(value)
    {   var form = document.createElement('form');
        var request = document.createElement('input');
     
        form.method = 'POST';
        form.action = 'http://maedakobe.rw.xsi.jp/php/post_data.php';
     
        request.type = 'hidden'; //入力フォームが表示されないように
        request.name = 'data';
        request.value = value;
     
        form.appendChild(request);
        document.body.appendChild(form);
     
        form.submit();
    }
    </script>
    </head>
    
    <body>
    <h3>Post Massage Sendo</h3>
    <script>
    postForm('POST Test  hello world!')
    </script>
    
    </body>
    </html>
    
  3. POST で渡されたパラメータは PHP で受け取ります。
    PHP は PHP をサポートしているサーバーでなければ動きませんが POST で送信するプログラムはパソコンからでも起動することができます。
    post_test.html, post_test2.html を実行すると、私がお借りしているサーバー上の post_data.php が呼び出されます。

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