如何在刷新页面时阻止计数器增加


How to stop the counter from increasing when refreshing the page

下面是我的代码:

$score=0;
$sql10=mysql_query("select * from image WHERE fromUser='".$_SESSION['email']."' order by id desc");
$score1=mysql_fetch_array($sql10);
$answer=$score1['Correct_answer'];
echo $answer;
$sql13=mysql_query("select * from image WHERE toUser='".$_SESSION['email']."' order by id desc");
$score2=mysql_fetch_array($sql13);
$answer2=$score2['User_answer2'];
echo $answer2;

strcasecmp($answer,$answer2);
if(strcasemp)
echo $score +=1;

正如你所看到的,我正在比较答案,如果两个答案相等,我希望分数增加1。但是代码不工作任何提示??

看起来您没有使用比较来增加分数。if (strcasecmp)线不做任何事情。您正在执行上面的strcasecmp($answer,$answer2),但不存储或使用比较的结果。同样,strcasecmp()返回0表示相等。相反,尝试:

if(strcasecmp($answer,$answer2) === 0) {
  echo $score +=1;
}

为了防止每次刷新页面时这个值都增加,您需要在$_SESSION中存储一些您已经处理过的指示。

session_start();
// Check if it hasn't already been answered.
if (!isset($_SESSION['answered']))
{
    // Do all your queries to check the answers.
    // etc...
    // etc...
    if(strcasecmp($answer,$answer2) === 0) {
      echo $score +=1;
      // Store an indicator in $_SESSION so this doesn't get processed again
      $_SESSION['answered'] = TRUE;
    }
}