2012-01-04 15 views
0

Я пытаюсь запустить функцию входа в систему cupcake forum.cakephp: ошибка входа в форум cupcake

В users_controller.php,

с переменным $ пользователя в функции авторизации не был заполнен, он дает ошибку. Поэтому я изменил функцию входа в систему, как показано ниже:

public function login() { 
    if (!empty($this->data)) { 
     $this->User->set($this->data); 
     $this->User->action = 'login'; 
     //--------------code that i added-------------- 
     $username=$this->data['User']['username']; 
     $password=$this->data['User']['password']; 
     $user=$this->User->find('all',array(
        'condition'=>array(
          'User.username'=>$username, 
          'User.password'=>$password 
          ))); 

     print_r($user); 
     //------------------------------------------------------------------------ 

     if ($this->User->validates()) { 
      if ($user == $this->Auth->user()) { 
       $this->User->login($user); 
       $this->Session->delete('Forum'); 
       $this->redirect($this->Auth->loginRedirect); 
      } 
      else 
       echo('i\'m not auth user'); 
     } 
     else 
      echo('not validated'); 
    } 

    $this->Toolbar->pageTitle(__d('forum', 'Login', true)); 
} 

print_r ($ пользователю) отображает всех пользователей от модели пользователя. По праву он должен отображать только данные пользователя, который вошёл в систему. Как я могу это достичь? Я невежественна, и это сводит меня с ума.

ответ

1
$user=$this->User->find('all',array(
        'condition'=>array(// here 
          'User.username'=>$username, 
          'User.password'=>$password 
          ))); 

У вас есть опечатка - это должно быть conditions

Поскольку ключ недействителен, торт не будет признавать его и просто игнорирует его - так возвращает all пользователей.

+0

спасибо большое Росс! иногда бывает так сложно идентифицировать эти опечатки, особенно когда я умственно убежден. :) – vaanipala

 Смежные вопросы

  • Нет связанных вопросов^_^