php

フォームからの送信

フォームを使うと、ユーザーからのデータを送信できます。
まずは、テキストボックスを使ってみます、
テキストボックスは1行のテキストを入力できるもので、
<input>タグを使います。<input>タグは他の部品でも
使われますので、このtype属性を"text"と指定します。

<input type="text" name="名前" >

送信するためには、送信ボタンを使いします。
送信ボタンはtype属性を"submit"と指定します。

<input type="submit" name="名前" >

サンプルコードの実行結果はこちら

ユーザーが送信ボタンを押すと<form>タグの「action」属性で指定された
宛先のページが実行されます。今回は、同じページがもう一度表示されます。

formから送信されたデータは、
$_POST["名前"]又は、$_GET["名前"]という名前の変数に格納されます。
「名前」はテキストボックスのname属性に指定した名前です。
今回は、テキストボックスに「food」という名前を付けているので、
$_POST["food"]にテキストボックスのデータが格納されます。

if( isset($_POST["food"]) )
echo "{$_POST["food"]}お買い上げ有難うございます。<br>"

isset()関数を使うと、$_POST["food"]に値が格納されている場合のみ、
if文の条件がtrueと判断されてメッセージが表示れます。

今回使用した$_POSTという配列は、
スーパーグローバル変数(super global variable)といいます。
スーパーグローバル変数は、PHPで用意されている変数です。
この変数名は予め決まっています。他にも以下のような
スーパーグローバル変数があります。

変数 内容
$_GLOBALS グローバル変数の情報を格納する
$_SERVER サーバー・クライアントに関する情報を格納する
$_GET GETで送信されたフォーム情報を格納する
$_POST POSTで送信されたフォーム情報を格納する
$_COOKIE クッキーの値を格納する
$_SESSION セッションの値を格納する
$_FILES ファイルのアップロード情報を格納する
$_ENV 環境による値を格納する
$_REQUEST ユーザーから入力された変数の値を格納する

フォームから送信したデータは、
スーパーグローバル変数$_GET,$_POSTに格納される。

-php
-,