English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
このチュートリアルでは、PHPの超グローバル変数$_GET、$_POST、$_REQUESTを使用して、フォームを通じて提出されたユーザー入力を収集する方法を学びます。
このチュートリアルでは、ユーザーがコメントやフィードバックを入力し、それをPHPでブラウザに表示する簡単なHTML連絡フォームを作成します。
お気に入りのコードエディタを開き、新しいPHPファイルを作成します。次のコードを入力し、このファイルを「contact”と名付けます。-form.php“はプロジェクトのルートディレクトリにあります。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8> <title>連絡表</title> </head> <h2>お問い合わせ</h2> このテーブルを記入して送信してください。</p> <form action="process-form.html" method="post"> <p> <label for="inputName">名前:<sup>*</sup></label> <input type="text" name="name" id="inputName"> </p> <p> <label for="inputEmail">メール:<sup>*</sup></label> <input type="text" name="email" id="inputEmail"> </p> <p> <label for="inputSubject">件名:</label> <input type="text" name="subject" id="inputSubject"> </p> <p> <label for="inputComment">内容:<sup>*</sup></label> <textarea name="message" id="inputComment" rows="5" cols="30"></textarea> </p> <input type="submit" value="提交"> <input type="reset" value="リセット"> </form> </html>
注意、<form>タグの開始部分には2つの属性があります:
action属性はPHPファイル「process」を参照しています。-ユーザーが「提交」ボタンを押してフォームを提出したとき、このファイルはフォームに入力されたデータを受け取ります。
method属性は、ブラウザがどのようにしてデータを送信するかを指示します。POSTメソッドフォームデータを送信する。
フォーム内の残りの要素はユーザー入力を受け入れる基本的なフォームコントロールです。HTMLフォーム要素に関する更多信息は、以下を参照してください。HTMLフォームチュートリアル。
特定のフォームフィールドの値にアクセスするには、以下のスーパーグローバル変数を使用できます。これらの変数はスクリプトのすべての作用域で利用可能です。
スーパーグローバル変数 | 説明 |
---|---|
$_GET | GETメソッド(URLパラメータとして)を使用してフォームに送信されたすべてのフィールド名と値のリストを含みます。 |
$_POST | POSTメソッドを使用してフォームに送信されたすべてのフィールド名と値のリスト(データがURLに表示されません)を含みます。 |
$_REQUEST | に含まれる$_GETおよび$_POST変数の値と$_COOKIEスーパーグローバル変数の値。 |
ユーザーが「提交」ボタンをクリックして上記の連絡フォームを提出すると、フォームデータがサーバー上の「 process-form.php”ファイルで処理されます。ユーザーが提出した情報をキャプチャして、ブラウザに表示するだけです。
“ process-form.php”ファイルのPHPコードは以下の通りです:
<!DOCTYPE html> <html> <head> <meta charset="UTF-8> <title>連絡表</title> </head> <h1>ありがとう</h1> <p>あなたが提出した情報:</p> <ol> <li><em>Name:</em> <?php echo $_POST["name"]?></li> <li><em>Email:</em> <?php echo $_POST["email"]?></li> <li><em>Subject:</em> <?php echo $_POST["subject"]?></li> <li><em>Message:</em> <?php echo $_POST["message"]?></li> </ol> </html>
上記のPHPコードは非常にシンプルです。フォームデータがPOSTメソッドで送信されるため、特定のフォームフィールドの名前を$_POSTスーパーグローバル配列に渡して、そのフィールドの値を取得し、echo()文を使用して各フィールドの値を表示できます。
現実世界では、ユーザーの入力を信じることができません。ユーザー入力をフィルタリングするための某种验证を施し、それを使用する前に必要です。次の章では、この連絡フォームデータをクリーンアップして検証し、PHPを使用してメールを送信する方法について学びます。