PHPフォーム処理
- 前のページ PHP 超全体的
- 次のページ PHP フォーム検証
PHPの全グローバル変数$_GETと$_POSTは、フォームデータ(form-data)を収集するために使用されます。
PHP - 簡単なHTMLフォーム
以下の例では、簡単なHTMLフォームが示されています。それは、2つの入力フィールドと1つの送信ボタンを含んでいます:
例
<html> <body> <form action="welcome.php" method="post"> 名前: <input type="text" name="name"><br> Eメール: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
ユーザーがこのフォームに入力して送信ボタンをクリックすると、フォームデータが「welcome.php」という名前の PHP ファイルに送信され、処理されます。フォームデータは HTTP POST メソッドで送信されます。
送信されたデータを表示するには、単にすべての変数を出力(echo)するだけで良いです。"welcome.php" ファイルは以下のようです:
<html> <body> ようこそ <?php echo $_POST["name"]; ?><br> あなたのメールアドレスは: <?php echo $_POST["email"]; ?> </body> </html>
出力:
ようこそ Bill あなたのメールアドレスは Bill.Gates@example.com
HTTP GET メソッドを使用しても同じ結果が得られます:
例
<html> <body> <form action="welcome_get.php" method="get"> 名前: <input type="text" name="name"><br> Eメール: <input type="text" name="email"><br> <input type="submit"> </form> </body> </html>
"welcome_get.php" は以下のようです:
<html> <body> ようこそ <?php echo $_GET["name"]; ?><br> あなたのメールアドレスは: <?php echo $_GET["email"]; ?> </body> </html>
上記のコードは単純ですが、最も重要な内容が省略されています。フォームデータを検証し、スクリプトにバグを避けるために必要です。
注意:PHP フォームを扱う際にはセキュリティに注意してください!
このページにはフォーム検証プログラムは含まれていません。それは、フォームデータの送信と受信方法を示すだけです。
しかし、後の章では PHP フォームのセキュリティを高める方法について説明します!フォームに対する適切なセキュリティ検証は、ハッキング攻撃やスパムメールを防ぐために非常に重要です。
GET に対する POST
GET と POST はどちらも配列(例えば、array( key => value, key2 => value2, key3 => value3, ...))を作成します。この配列はキー/値対を含んでおり、キーはフォームコントロールの名前、値はユーザーからの入力データです。
GET と POST は $_GET と $_POST として見なされます。これらはスーパーグローバル変数であり、そのため、スコープを考慮することなくアクセスできます - 特別なコードは必要ありません。どの関数、クラス、ファイルからでもアクセスできます。
$_GET は URL パラメータを通じて現在のスクリプトに渡される変数の配列です。
$_POST は HTTP POST を通じて現在のスクリプトに渡される変数の配列です。
GET をいつ使用しますか?
フォームから GET メソッドで送信される情報誰にも見えません(すべての変数名と値は URL に表示されます)。GET は送信される情報の量にも制限があります。制限は約 2000 文字です。ただし、変数が URL に表示されるため、ページをブックマークに追加することもより簡単です。
GET は非機密データの送信に使用できます。
注釈:パスワードや他の機密情報を GET で送信することは決してできません!
POST をいつ使用しますか?
フォームから POST メソッドで送信される情報他の人には見えません(すべての名前/値は HTTP リクエストのボディに埋め込まれます)そして、送信される情報の量にも制限があります。無制限。
さらに、POST はファイルをサーバーにアップロードする際の multi-part 二進方式の高度な機能をサポートしています。
ただし、変数が URL に表示されないため、ページをブックマークに追加することはできません。
ヒント:開発者は、フォームデータを送信する際に POST を好みます。
次に、PHP フォームの安全な処理方法を見てみましょう!
- 前のページ PHP 超全体的
- 次のページ PHP フォーム検証