※ ChatGPTを利用し、要約された質問です(原文:getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない)
getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない
このQ&Aのポイント
getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わりますか?
getとpostのメソッドが混ざったフォームの結果は、条件によって変わるのか調査しました。
フォームのactionにクエリーストリングをつけてmethodにpostを指定した場合、getとpostの結果には違いがありますか?
getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない
getとpostのメソッドがごっちゃになったようなフォームの結果は、条件によって変わる?変わらない
以下のように、getとpostのメソッドがごっちゃになったようなフォームについて質問させてください。
====================================================================================================
<?php
//なお、PHP Version 5.1.6、CentOS4.4です。
/**
以下のように、
form tagで、actionにはクエリーストリングをつけて、でもmethodとしてpostを指定した場合、
*/
?>
<form action="/phpinf.php?foo=bar&fuga=hoge" method="post" name="f">
<input type="hidden" name="text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost" value="ddddd" />
<input type="submit" name="submit" value="送信" />
</form>
====================================================================================================
の結果は、
$_GETの中身(全部)は
$_GET["foo"] bar
$_GET["fuga"] hoge
//-----------------------------------------------------------
$_POSTの中身(全部)は
$_POST["text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost"] ddddd
$_POST["submit"] 送信
//-----------------------------------------------------------
$_REQUESTの中身(全部) は、
$_REQUEST["foo"] bar
$_REQUEST["fuga"] hoge
$_REQUEST["text_InsideFormElementWhichDeclaresExpresslyThatMethodIsPost"] ddddd
$_REQUEST["submit"] 送信
$_REQUEST["セッションidの文字列"] fdhfdshdsfhhkfdsjfdsjf
//-----------------------------------------------------------
また、$_SERVER から抜粋すると、
$_SERVER["REQUEST_METHOD"] POST
$_SERVER["QUERY_STRING"] foo=bar&fuga=hoge
$_SERVER["REQUEST_URI"] /phpinf.php?foo=bar&fuga=hoge
//-----------------------------------------------------------
となりました。
こういった結果は、
OS,Webサーバ,phpやperlやrubyやasp...などの言語の種類(or 素のhtml)、
また、user agent にも関係なく、
同様の結果となるのでしょうか?
さらに質問ですが、こういったformの記述は、RFCやW3Cの規約に反していないのでしょうか?
ご存じの方がいらっしゃしまた、お教えいただければ幸いです。
以上、よろしくお願いいたします。