フォームのデータを受け取る
フォーム
- ソフトウェアの操作画面(ユーザインターフェース)で、利用者からの入力を受け付ける要素(の集合)のことを指す
フォームのデータを受け取る
- POSTメソッドで送信されたデータは、特別な配列「$_POST」に格納されています
- 例では「@」マークが付加されていますが、これは初回のアクセス時に「$_POST」が存在しないことによるエラーメッセージの表示を回避するためのものです
- 「$_SERVER['PHP_SELF']」は、現在表示中のURLが格納されたサーバー変数で、action属性に指定することで現在表示中のページにデータを送信します
- $_SERVER['PHP_SELF']にはクロスサイト・ス クリプティング(XSS)脆弱性が存在しますから、サーバーにアップして実行する場合にはこの選択はしません
- 練習段階で同一画面上で確認するのみの場合は「action=""」で記述します(このとき@も削除します。)
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>フォームのデータを受け取る</title> </head> <body> <?php // 入力内容を表示する print '入力内容:'.$_POST['text1']; ?> <form method="POST" action=""> <table> <tr> <td><input type="text" name="text1"></td> <td><input type="submit" value="送信" name="sub1"></td> </tr> </table> </form> </body> </html>
- 送信後
計算プログラムをつくる
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>計算プログラム</title> </head> <body> <form method="POST" action=""> <input type = "text" name = "txtA"> + <input type = "text" name = "txtB"> = 計算結果 <br> <input type="submit" value="計算"> </form> <br> <?php $a = $_POST['txtA']; $b = $_POST['txtB']; $c = $a + $b; print ('計算結果:' . $c); ?> </body> </html>
ラジオボタンの値を取得
<!DOCTYPE html> <html lang="ja"> <head> <meta charset="UTF-8"> <title>ラジオボタンの値を取得する</title> </head> <body> <form method="POST" action=""> <dl> <dt>性別:</dt> <dd> <input type="radio" name="gender" value="男性" checked>男性 <input type="radio" name="gender" value="女性">女性 </dd> </dl> <input type="submit" value="送信"> </form> <br> <?php print ('性別:' . htmlspecialchars($_POST['gender'], ENT_QUOTES)); ?> </body> </html>