- ベストアンサー
HTMLフォームPOSTでの引数の渡し方
HTMLのフォームでPOST送信を利用しているのにURIに引数を指定するのは良いのでしょうか? <form name="form" method="post" action="form.php?abd=123"> のようになっているサイトを見かける事があります。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
機能としては標準ですが、運用的にはあまりよろしくないですね すなおに <input type="hidden" name="abc" value="123"> で埋め込めば済む話です ポイントとしては2点、キーが競合する場合がある 一つは$_REQUESTで参照する場合、phpinfo()でcore情報のvariables_orderで 指定されている順の優先順位になります 通常はGPCSなのでGET>POST>クッキー>セッションです もちろん$_GETや$_POSTで明示的に参照すれば問題はありません もう一つはmethodをGETにして、パラメータでも同じキーを渡すと 判断がつかないのでブラウザの解釈によります。 いずれにしろ中途半端になるので、できればデータの受け渡し方法は 一つにまとめた方が無難です。
その他の回答 (1)
- ORUKA1951
- ベストアンサー率45% (5062/11036)
構いませんよ。データを渡す方法は ・QUERY_STRING を使用する。フォームのデフォルト URLの一部なので直接書くときはURLエンコードが必要 文字数制限がある。 ・標準入力 SDIN いわゆる method="post" ・PATH_INFO URLの一部?より前に書くことが出来る。Wikiや新聞社のページ http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/takuwave?action=http_referrer_check /takuwave がPATH_INFO、action=http_referrer_check がQUERY_STRING
お礼
ありがとうございます。 長年、思い込みで駄目だと思ってました。
お礼
詳しくご説明ありがとうございます。 納得いたしました。 URIのパラメータ渡しは、GET参照用だと思い込んでましたので formでURIにて利用したことありませんでした。 お恥ずかしいかぎりです。 でも、今までどおりhiddenでやっていきたいと思います。