Blogブログ

第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にするだけです。

実際はこれらのデータをデータベースに書き込んだり、メールで飛ばしたりという感じになるかと思います。

また、ファイルアップロードがある場合は注意が必要です。

この部分を

と書く必要があります。

これはおまじないのようなもので、この記述がないとフォームを経由しての画像アップロードや、ファイルアップロードが出来ないので、

ご注意ください。

他社より断然お得で使いやすい
”アクトのWEB制作”
ACTホームページ相談窓口 / 
システム開発相談窓口