无法比较两个PHP变量

时间:2010-07-14 00:20:52

标签: php datetime variables compare

这似乎是一个愚蠢的问题,但它仍然让我感到难过。我确信答案很小。我认为这只是我长时间查看代码的情况之一。

我试图比较两个PHP变量,看看它们是否相同。如下所示,我将$verification_answerstrrev(date("Ymd"))进行比较,这是今天的日期,相反。所以今天,$verification_answer将是31700102.但是,每次我尝试进行比较时,if语句都会执行(作为不匹配)。

$verification_answer = strrev(date("Ymd"));

if($verification != $verification_answer){
     $failed .= "<h2>Attention:</h2><p>The verification code is incorrect. Please try again.</p>"; 
}

有人能看到这个问题吗?谢谢!


更新:$verification来自HTML用户输入:

$verification = mysql_escape_string($_POST['verification']);

3 个答案:

答案 0 :(得分:6)

if语句没有错。显示这两个值,你应该看到一些区别:

var_dump($verification);
var_dump($verification_answer);

也许$verification不包含您的想法,或者您之前拼写错误并分配给其他变量,或者......

答案 1 :(得分:3)

  

我将$ verification_answer与strrev(日期(“​​Ymd”))进行比较

如果这实际上是你打算做的,我想你在第一行搞砸了变量的名字;它应该是:

$verification = strrev(date("Ymd"));

如果您在未定义的情况下意外覆盖了$verification_answer的值并在比较中使用了$verification,则比较将始终为false。 PHP会发出警告,但如果你禁用它们就不会看到它

答案 2 :(得分:0)

我必须在某处拼错验证错误...我在每个现有变量名称上复制并粘贴'验证'并修复了问题。谢谢!