【PHP】GETとPOSTのデータを同時に送信する方法
- 2020.03.16
- PHP

formからデータを送る方法にはGETとPOSTの2種類があります。 基本的にはその2種類のどちらかしか使わないが、formのaction属性に指定するURLを書き換えることで、GETとPOSTの両方を同時に送ることもできます。
Advertisement
GETとPOSTのデータを同時に送信する際の記述例
記述例は以下の通り
<form action = "?test=1234&name=Fermat" method = "POST"> <table> <caption>GETとPOSTを同時送信</caption> <tbody> <tr><th>年齢[age]</th><td><input type = "text" name = "age" value = "45"></td></tr> <tr><th>名前[name]</th><td><input type = "text" name = "name" value = "Gauss"></td></tr> </tbody> </table> <input type = "submit" value = "送信"> </form>
このように書くと、action属性に書いたtestとnameの値をGETで、inputタグに書いたageとnameの値をPOSTで送ることができます。
取得結果は以下の通り
$_GETと$_POSTの取得結果
$_GET = Array ( [test] => 1234 [name] => Fermat ) $_POST = Array ( [age] => 45 [name] => Gauss )
この例ではGETとPOSTのどちらにも同じ名前のnameという値があります。 $_REQUESTでは同じ名前の値があるとき、デフォルトでは$_GETよりも$_POSTの値が優先され、以下のような値になります。
$_REQUESTの取得結果
$_REQUEST = Array ( [test] => 1234 [name] => Gauss [age] => 45 )
もし、$_COOKIEにも同じ値があるとその値は$_POSTよりも優先されます。
この優先順位の設定は、request_order(もしくはvariables_order)で変更可能です。
ちなみに、action属性にGET用のデータを書いてもmethod=”GET”ではaction属性の値は送られず、inputタグなどの値のみが送られます。
Advertisement
-
前の記事
お風呂のお湯が出なくなった!賃貸で給湯器が壊れた時の修理代は家主持ちになる?【経験談】 2020.03.15
-
次の記事
エアコンが壊れて動かなくなった!賃貸でエアコンが壊れた時の修理代は家主持ちになる?【経験談】 2020.03.17