ホーム >  PHP >  フォームに入力された情報を送る

投稿日:   |  最終更新日:

フォームに入力された情報を送る

PHP制作


 フォームとは、ユーザに情報を入力させそれを処理するプログラムです。

phpcode

sample_input.php

1  <form action="sample.php" method=”get”>
2  <label for="my_name">お名前</label>
3  <input id="my_name" type="text" name="my_name" size="35"
4  maxlength="255" value="">
5  <input type="submit" value="送信する" />
6  </form>

sample.php

1  <?php
2  print('お名前'. htmlspecialchars($_REQUEST['my_name'], ENT_QUOTES));
3  ?>

フォームの使い方

<form action="sample.php" method="get">

 ユーザがフォームに記入した内容は、<form>要素のaction属性したファイルに送信します。送信先がPHPである場合は、フォームの内容が「変数」に一時的に保存されます。

変数

$_REQUEST['my_name']  あるいは $_GET['my_name']

に保存されます。

$_GETと$_POSTと$_REQUEST

<form>要素の「method」属性を付加することができ、「get」または「post」を指定できます。

getの場合

 「get」は別名「URLパラメータ」と呼ばれます。URLの後ろ側に「?」記号に続けて値を指定して送信します。

<form action="sample.php" method="get">
・・・


print(htmlspecialchars($_GET['my_name'], ENT_QUOTES));

http://xxxx/sample.php?キー1=値&キー2=値

 Yahoo!JAPANはこのタイプです。検索フォームに入力した情報がURLの後ろに乗っかります。URLを掲示板やメールに張り付けて友達と共有できますが、大きなデータは送信できません。また、送信データがパスワードだった場合はアドレスバーに丸見えになってしまいます。

postの場合

 会員登録フォームやお問い合わせフォームなどの場合は、「post」を使います。「post」は、値を裏側で送信するため、URLには一切表示されません。

<form action="sample.php" method="post">
・・・


print(htmlspecialchars($_POST['my_name'], ENT_QUOTES));

$_REQUESTの場合

 これは、「get」「post」に限らず、オールマイティに利用できます。これさえ使っていれば他はいらないとように思われますが、危険性が増してしまいます。「$_GET」の代わりに「$_REQUEST」を使いのはあまり変わりませんが、「$_POST」の代わりに使うと、URLをいじることで上書きできてしまいます。特別な理由が無い限りは使い分けましょう。

トラックバック用のURL
プロフィール

名前:イワサキ ユウタ 職業:システムエンジニア、ウェブマスター、フロントエンドエンジニア 誕生:1986年生まれ 出身:静岡県 特技:ウッドベース 略歴 20

最近の投稿
人気記事
カテゴリー
広告