单击提交按钮时打印语句

时间:2011-08-01 19:28:13

标签: php mysql

我对会话有疑问。我想在用户点击提交按钮后显示正确的答案。我使用了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";

2 个答案:

答案 0 :(得分:0)

问题可能是您从先前的测试中获得了变量集。使用显式比较确保变量不仅设置,而且还等于预期值:

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

您提供的代码不充分 - 我无论在哪里看到您显示表单的位置,处理POST数据,或设置/取消设置会话值。所以,这只是使用您提供的材料的最佳猜测。

答案 1 :(得分:0)

如果单击了您的按钮,则应该(最有可能)进行GET或POST请求。您正在检查SESSION变量,因此如果设置了变量,条件将为true - 无论是否单击该按钮。

您可以添加第二个条件,“检查”是否单击了该按钮。

提示:您可以添加一个通过GET或POST发送的隐藏变量,并检查该变量是否已设置(以及您现有的条件) - 这是一种方法。