2011-08-01 6 views
0

セッションに関する質問があります。ユーザーが送信ボタンをクリックすると正しい返信が表示されます。私はissetを使っていましたが、ボタンがクリックされていなくても正解が表示されます。私のコードに問題はありますか?送信ボタンがクリックされたときに明細書を印刷

$sql13=mysql_query("select * from image WHERE toUser='".$_SESSION['email']."' order by id desc"); 
$score2=mysql_fetch_array($sql13); 
$answer3=$score2['answer']; 


if(isset($_SESSION['panswer'])) 
echo " The correct answer is : $answer3"; 

答えて

0

問題は、前のテストで設定した変数がある可能性があります。あなたが提供したコードが不十分である

if(isset($_SESSION['panswer']) && $_SESSION['panswer'] == '1') 
    echo " The correct answer is : $answer3"; 

- あなたのフォームを表示する場所がない私が見ていますところ、ハンドル:変数が設定するだけでなく、期待値に等しいだけではないことを確認するために、明示的な比較を使用しますPOSTデータを取得したり、セッションの値を設定または設定解除したりします。したがって、これはあなたが提供した資料を使用した最良の推測に過ぎません。

+0

ありがとうございました。別の条件を付けていただきありがとうございました。 – Amal

0

ボタンをクリックすると、GETまたはPOSTリクエストが(おそらく)作成されるはずです。 SESSION変数をチェックしているため、ボタンがクリックされているかどうかに関係なく、変数が設定されていると条件が真となります。

ボタンがクリックされたかどうかを確認する第2の条件を追加することができます。

ヒント:GETまたはPOST経由で送信される隠し変数を追加し、その変数が(既存の条件と一緒に)設定されているかどうかを確認することができます。これがその方法の1つです。

+0

はい、値がチェックされている2番目の条件を設定すると機能しました。ありがとうございました。 – Amal

+0

あなたのお手伝いがあれば、回答を受け入れてください。ありがとう:) – Andreas

関連する問題