dポイントプレゼントキャンペーン実施中!

HTMLのフォームでPOST送信を利用しているのにURIに引数を指定するのは良いのでしょうか?

<form name="form" method="post" action="form.php?abd=123">

のようになっているサイトを見かける事があります。

A 回答 (2件)

機能としては標準ですが、運用的にはあまりよろしくないですね


すなおに
<input type="hidden" name="abc" value="123">
で埋め込めば済む話です

ポイントとしては2点、キーが競合する場合がある

一つは$_REQUESTで参照する場合、phpinfo()でcore情報のvariables_orderで
指定されている順の優先順位になります
通常はGPCSなのでGET>POST>クッキー>セッションです
もちろん$_GETや$_POSTで明示的に参照すれば問題はありません

もう一つはmethodをGETにして、パラメータでも同じキーを渡すと
判断がつかないのでブラウザの解釈によります。

いずれにしろ中途半端になるので、できればデータの受け渡し方法は
一つにまとめた方が無難です。
    • good
    • 0
この回答へのお礼

詳しくご説明ありがとうございます。

納得いたしました。

URIのパラメータ渡しは、GET参照用だと思い込んでましたので
formでURIにて利用したことありませんでした。
お恥ずかしいかぎりです。

でも、今までどおりhiddenでやっていきたいと思います。

お礼日時:2014/09/25 13:58

構いませんよ。

データを渡す方法は
・QUERY_STRING を使用する。フォームのデフォルト
 URLの一部なので直接書くときはURLエンコードが必要
 文字数制限がある。
・標準入力 SDIN いわゆる method="post"
・PATH_INFO
 URLの一部?より前に書くことが出来る。Wikiや新聞社のページ

http://hpcgi1.nifty.com/Iruka/ENV_FORM.cgi/takuw …
/takuwave がPATH_INFO、action=http_referrer_check がQUERY_STRING
    • good
    • 0
この回答へのお礼

ありがとうございます。

長年、思い込みで駄目だと思ってました。

お礼日時:2014/09/24 16:49

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!