HTML文のFORMタグ(<form>~</form>)およびGETメソッド(method="GET")で作られたHTMLフォームから送信されたデータを、同じくaction属性で指定されたPHPファイルで受け取る方法は3種類あります。送信元のHTMLフォームのname属性が「username」であるフォーム部品のデータを受け取りたい場合、以下のようにします。
①スーパーグローバル変数「$_GET」を使う(例:$_GET["username"])
②グローバル変数「$HTTP_GET_VARS」を使う(例:$HTTP_GET_VARS["username"])
③送信元の部品名をそのまま使う($username)
このうち③は、「フォームのデータを受け取る(POST)」でも開設したように、php.iniファイルで「register_globals = On」の設定になっている場合のみ使える方法です。セキュリティ上の問題により、通常は使われません。
<!DOCTYPE HTML> <html lang="ja-JP"> <head> <meta charset="UTF-8"> <title></title> </head> <body> 名前と住所を入力して「送信」ボタンをクリックしてください。 <form action="receive.php" method="GET"> 名前:<input type="text" size="40" name="username"><br> 住所:<input type="text" size="40" name="useraddress"><br> <input type="submit" value="送信"> </form> </body> </html>
<?php header("Content-type: text/html; charset=utf-8"); echo "GETで送信されたデータは<br>"; echo "名前→" . $_GET["username"] . "<br>"; echo "住所→" . $HTTP_GET_VARS["useraddress"] . "<br>"; ?>