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>
    

  5. POST で送信する処理を form を使わずに汎用性のある関数で定義します。
    リンクをクリックすると 'POST Test hello world!' が送信されます。
    POST 送信を関数で定義(post_test2.html)
  6. 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>
    
  7. post_data.php は PHP をサポートしているサーバーでなければ動きませんが、post_test.html, post_test2.html は パソコンからでも起動することができるようです。

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