Web 開発に PHP を使用すると、フォーム (Form) の使用が随所で見られます。その属性である Action と Method を使用して、処理のためにフォームのコンテンツの送信先となる URL とフォームの送信方法を指定できます。データをサーバーに送信します。ほとんどの場合、フォームのコンテンツを Action 属性に処理するために別の URL アドレスを指定しますが、場合によっては、フォーム データを自分自身に送信する必要があります。このときAction属性値はどのように指定すればよいのでしょうか?
<?php if(isset($_POST['action'])&&$_POST['action']=='submitted'){ print'<pre class="brush:php;toolbar:false">'; print_r($_POST); print'<ahref="'.$_SERVER['PHP_SELF'].'">Pleasetryagain</a>'; print''; }else{ ?>
上記のコードは、自分自身へのフォームの送信を実装しています (注: PHP 4.1.0 より前のバージョンでは、以下のコードの $_Post 変数の代わりに $_HTTP_POST_VARS を使用してください)。ここでは、サーバー変数 $_Server を使用して、現在のページの URL アドレスを取得し、それをフォームの Action 属性に割り当てます。ここでは、サーバーが URL リクエストを受信するのが POST リクエストであるか GET リクエストであるかを判断するために、小さなトリックが使用されています。つまり、リクエストを処理するときに、isset 関数を使用してこの隠し変数が設定されているかどうかを検出し、リクエストが POST メソッドを使用するか GET メソッドを使用するかを判断します。
上記は、PHP がフォームを自分自身に送信する方法です。その他の関連コンテンツについては、PHP 中国語 Web サイト (www.php.cn) に注目してください。