我正在使用 CakePHP 2.2.2 并用它构建会话信息,以存储所有用户的登录详细信息,以便我可以通过我的整个站点访问它们。我写的代码如下:
if (($GetPass == $this->data['Menu']['password'] && $GetUsers == $this->data['Menu']['username'])) {
$this->Session->write('LoginData', array(
'FristName' => $SQL[$key]['User']['fristname'],
'SurName' => $SQL[$key]['User']['surname'],
'UserName' => $SQL[$key]['User']['username'],
'AccessLevel' => $SQL[$key]['Role']['title'],
'Email' => $SQL[$key]['User']['email']
));
} else {
$this->Session->setFlash('Sorry Login Details Do Not Match Our Records', array('element' => 'failure'));
}
我遇到的问题是让我陷入困境,这两个条件总是正确的。那么即使用户名和密码在数据库中,它仍然在设置闪存消息吗?我就是不明白为什么?if 语句的“else”部分仅应在 if 语句中设置的条件为假时运行,对吗?那么为什么我的闪信总是被设置呢?