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