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

テキストフィールドに入力し、検索ボタンを押すと、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でリロードができるでしょうか?

A 回答 (3件)

>if($submit){



if($_REQUEST["submit"]){
に変更してみてください
もし万が一getやpostで飛んできたデータをそのまま信用して変数名として
つかっている(php.iniのregister_globals = Onとしている)なら
危険なのでやめましょう

この回答への補足

ご指摘ありがとうございました。

補足日時:2008/12/09 10:30
    • good
    • 0

ヒント:キャッシュコントロール



9割方推測にすぎませんが。

この回答への補足

ご指摘ありがとうございました。

補足日時:2008/12/09 10:32
    • good
    • 0

>if($submit)



のチェックがおかしいんじゃないでしょうか?
$submitという変数がどういうものか示されていないのでコレ以上は
正確には指摘できませんが・・・

この回答への補足

記述ミスがありました。
×<input type="submit" value="検索">
○<input type="submit" name="submit" value="検索">

補足日時:2008/08/23 16:47
    • good
    • 0

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