我在前端有customers_contoller.php
function login() {
if(!empty($this->data)) {
# Call function from Customer to insert Registration Data
$loginData = ClassRegistry::init('Customer')->checkLogin($this->data['email'], $this->data['password']);
if(isset($loginData) && !empty($loginData)) {
$this->Session->write('Session.userid',$loginData['Customer']['id']);
$this->Session->write('Session.email',$loginData['Customer']['email']);
$this->redirect(HTTP_PATH."my-profile");
exit;
} else {
$this->Session->setFlash('Please enter valid Username/Password','default',array('class'=>'flash_bad'));
$this->redirect(HTTP_PATH."customer/login");
exit;
}
}
}
在模型 customer.php 中,
function checkLogin($email,$password) {
$loginData = $this->find('first', array('conditions' => array('Customer.email' => $email, 'Customer.password' => sha1($password), 'Customer.is_active' => 'Yes')));
return $loginData;
}
大多数时候登录工作正常,但有时登录不工作,也没有收到错误消息。每次登录时只刷新页面。
我刚刚检查了所有这些事情,我发现当我当时无法登录我的网站时,浏览器的缓存显示会话路径的“/app/”,但我已经在app_controller.php的before_filter()函数中设置了实际的会话路径,使用$this->Session->path = '/';
我只是删除了所有浏览器的缓存并尝试登录,现在它工作正常。
谁能解释我是什么问题?它是随机发生的,所以我找不到问题的根源。