GET形式で値を送信
- form要素のmethod属性値に"get"を指定した場合、submitボタンが押下されると、action属性で指定したURLの後ろに、クエリ文字列を付加する形で値を送信する。
- URLの長さに上限を設けているブラウザがあるので、上限を超える長さになる場合は送信できなくなる。
クエリ文字列
「?名前=値」の形式で記述され、複数の値を送る場合は「?名前1=値1&名前2=値2&名前3=値3」となる。アドレス欄に値が表示されてしまうため、値を盗み取ったり書き換えることが容易に可能。注意が必要!!
例
<h2>性別は?</h2>
<h2>年齢は?</h2>
<select name="age">
</select>
<p>
</p>
</form>
↓ ↓ ↓
上記の通り選択し、「投票する」を押下
↓ ↓ ↓
「01-2_get_confirm.php?gender=1&age=1」にアクセスし、下記の表示となる
【表示画面】
フォームを使用せずにGET形式で値を送信
GET形式で受け取った値
- 入力フォームからGET形式で送られてきた値をPHPで取得する場合、スーパーグローバル変数(スクリプト内のどこからでも参照できる変数)である「$_GET」を使用する。
- $_GETは受け取った値を連想配列で管理する。キー(部屋の名前)はname属性で指定した値になる。⇒ $_GET[name属性値]
未入力時のメッセージ
変数が定義されているか調べるisset関数を使用し、未入力時のメッセージを表示することができる。
isset(調べる変数名);
※あくまで変数が定義されているか否かのチェックであり、空文字が定義されている場合はtrueになる。(ボタンパーツは選択しないで送信すると変数が定義されない状態になる)