2018年9月27日木曜日

$_GETと$_POSTで気づいた

業務中に気がついたんだけど


PHPファイルに対して「POST命令でクエリ文字列付きURL」を叩くと、$_POST['hoge']と$_GET['fuga']が同時に使えるらしい。

具体的に


bodyにhoge : hogehogeを含んだ

https://hogehoge.com/index.php?id=fuga&passwd=fugafuga

をPOSTでリクエストすると、POST bodyパラメータとクエリ文字列の2つが与えられているので、index.phpでは$_POST['hoge']と$_GET['id']、$_GET['passwd']が使えるということ。

今まで、POSTなら$_POSTだけ、GETなら$_GETだけと思っていたんだが、どうやら違っていたらしい。

なんで命令で使うリクエスト変数を分けなかったんだろうね?

参考