PHPにおけるPOSTとGETは,PHPからPHPにデータを送る操作のこと.
��まあ,正確にはちょっと違う.PHPに限る話じゃないので.)
例えば,以下のようなサイトURLを見ることがあると思う.
例:(Gmailの受信トレイのURL)
http://mail.google.com/mail/?hl=ja#inbox
気になるのは,「?」以降のhl=ja#inbox.
他にも,ググったりしたときなどは,こんな感じのが長々とくっついてくることが確認できる.
実はこれがGETの正体.
GETは,サイトURLを使ってデータを送信する仕組みです.
http://送信先?変数名=変数の中身
というように,送信先の後ろに「?」を付け,その後ろに変数を書く.
複数渡す場合は,「&」ではさんで列挙する.
http://vocaloid.php?loid1=miku&loid2=rin&loid3=ruka
この場合,受け取る側であるvocaloid.phpでは,
$_GET["loid1"] // miku
$_GET["loid2"] // rin
$_GET["loid3"] // ruka
と書けば,それぞれの値を取得できる.
しかし,GETは手軽な分だけ問題もある.
1つは,URLにくっつくので,変数の数が多くなった場合に使えなくなること.
あと,もう1つ,ユーザ側から変数が丸見えだということ.
これでは,パスワードやクレジット番号などの保護されるべきデータを送ることはできない.
そこで,こういった,ユーザからあまり見えてほしくないものについては,POSTを使う.
��もっと言うなら,セッションを使うべきだが,今は置いておいて)
POSTは,例えば,<form>タグを使って,
<form method="post" action="login.php">
ユーザネーム:<input type="text" name="username"><br>
パスワード:<input type="password" name="password"><br>
<input type="submit" value="送信" name="submit">
</form>
とし,login.phpでは,
$_POST["username"] // フォームで入力したユーザネーム
$_POST["password"] // フォームで入力したパスワード
で受け取る.
ちなみに,<form>タグでは,method="GET"とすれば,GETで受け取ることも可能.
0 件のコメント:
コメントを投稿