- 締切済み
GETだと初回しかSubmitが実行されない
テキストフィールドに入力し、検索ボタンを押すと、DBを検索し 値を表示するプログラムをphpに <? if($submit){ (データ取得) $cd = "test" } ?> <form action="XX" method="post"> <input type="text" name="cd" value="<?=$cd;?>"> <input type="submit" value="検索"> </form> のように記述してます。 ボタンを押すとサブミットされDBより取得した内容「test」と表示され、何度押してもリロードされtestと表示されるのに、 methodをgetにすると、2度目以降何度押しても リロードされている様子がありません。 フィールドのテキストを換えて押しても 反応していないようです。 1.なぜgetだと1度目しかSubmitが動かないのでしょうか? 2.どうしたらgetでリロードができるでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- yambejp
- ベストアンサー率51% (3827/7415)
>if($submit){ を if($_REQUEST["submit"]){ に変更してみてください もし万が一getやpostで飛んできたデータをそのまま信用して変数名として つかっている(php.iniのregister_globals = Onとしている)なら 危険なのでやめましょう
- 神崎 渉瑠(@taloo)
- ベストアンサー率44% (1016/2280)
ヒント:キャッシュコントロール 9割方推測にすぎませんが。
補足
ご指摘ありがとうございました。
- yambejp
- ベストアンサー率51% (3827/7415)
>if($submit) のチェックがおかしいんじゃないでしょうか? $submitという変数がどういうものか示されていないのでコレ以上は 正確には指摘できませんが・・・
補足
記述ミスがありました。 ×<input type="submit" value="検索"> ○<input type="submit" name="submit" value="検索">
補足
ご指摘ありがとうございました。