2011-07-29 166 views
0
页面

的时候,这里是我的代码停止从增加计数器:如何刷新

$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; 

就像你看到的我是比较的答案,如果二者相等我想要的分数加一。但代码没有任何提示?

+0

http://php.net/manual/en/function.strcasecmp.php –

+0

* slap *。打开显示警告。 –

+0

应该不是: if(strcasemp == 0) { echo $ score + = 1; } – andrew

回答

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; 
    } 
} 
+0

同样错字在OP的问题 –

+0

了'如果(strcasecmp)'行做一件事情:它会发出警告:) –

+0

我想你的代码,那么即使在$答案,$ ANSWER2等于不工作: - ( – Amal