第12回:フォームを理解しよう($_GET,$_POST)!
2013/03/19
ホームページ上で問い合わせページなどには必須のフォーム。
この基本的な作りを今回は解説します。
フォーム構造
下記のようなHTMLがあったとします。
<form action="" method="post"> 氏名<input type="text" name="shimei" value="" /> 電話番号<input type="text" name="tel" value="" /> <input type="submit" value="送信" /> </form>
氏名と電話番号を入力してもらい、それらをphpで受け取って処理するという簡単な作りです。
では、解説に入ります。まずは1行目の
に囲まれた部分のデータがsubmitボタンを押されることにより、
任意のphpファイルに送られます。
action=”” ここに値を入れると任意のファイルにデータが飛ぶようになりますので、
処理したいphpファイルにデータを飛ばすことができます。 action=”../hoge.php” こんな感じです。
相対パス、絶対パス、どちらでもOKです。何も記入しないと今実行しているファイルに飛ばされます。
index.phpというファイルでフォームのHTMLを出力していたらaction属性に何も入れないと、
submitをボタンを押せばindex.phpにデータが送られます。
次にデータの形式を指定します。method=”post”という部分です。
method=”get” or method=”post” の2種類があります。
get はURLにデータが付加されてしまい、セキュリティ上もよくありません。
postはURLにデータが付加されず、こちらにしておいた方が無難でしょう。
そして、送られてきたデータはget指定なら、$_GET,post指定なら$_POSTという変数に格納されています。
$_GET,$_POSTとキーになるHTMLで指定したname属性・・・今回なら指名が「shimei」,電話番号が「tel」になります。
これらがキーとなり、アクセスできます。
今回はpost指定なので、
var_dump($_POST['shimei']); var_dump($_POST['tel']);
これでデータにアクセスできます。
get指定なら$_POSTの部分を$_GETにするだけです。
実際はこれらのデータをデータベースに書き込んだり、メールで飛ばしたりという感じになるかと思います。
また、ファイルアップロードがある場合は注意が必要です。