2010-10-02 176 views
0

有谁知道这个问题的话,我有以下代码:这是一个PHP'错误'还是我错过了什么?

if (strtotime($unlockInfo->UnlockReviewDate) < time()) { 
    echo "<h3>Please review your details and ensure they are accurate and up to date.</h3>"; 
    $verifState = validateUnlockCode($db_conn, $unlockInfo->UnlockCode); 
} 

现在因为是似乎工作正常,但就是我似乎周围追逐的年龄问题。

基本上$ unlockInfo是一个从mySql查询返回的对象,您可能会看到的是根据当前时间评估的。现在,validateUnlockCode函数在特定情况下具有修改数据库和$ unlockInfo对象的能力。

但是,只有在评估if语句之后才能修改任何内容。但是当我错过if语句的空间时,即。

if(strto.... 

这似乎会导致在验证if之前设置$ verifState,因此调用validate函数并非常不情愿地修改数据库。

这是正常的吗?是应该发生的?对不起,我对这个有点困惑。

+1

我的第一本能是你完全误解了发生了什么事,但我过去错了。试着将代码烧录成一个小样本,以演示您遇到的问题 - 大型(可能非常复杂)程序的一个片段很难调试:) – gnud 2010-10-02 18:46:25

回答

0

if后面的空格不影响任何内容。

如果strtotime($unlockInfo->UnlockReviewDate)失败,那么它(false == 0)肯定会小于当前的UNIX时间戳。这是我检查的第一件事。

strtotime返回什么? UnlockReviewDate的格式是什么?

相关问题