我试图比较两个PHP变量,看看它们是否相同。如下所示,我将$verification_answer
与strrev(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']);
答案 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)
我必须在某处拼错验证错误...我在每个现有变量名称上复制并粘贴'验证'并修复了问题。谢谢!