2016-10-19 79 views
0

這是我在同一頁面的控制器中的登錄和註銷功能。當我在註銷中使用Session :: destroy()時,它會引發一個錯誤「在不在對象上下文中時使用$ this」。並告訴我如何檢查會議是否有效。 預先感謝您

public function login(){ 
     $session = $this->request->session(); 
     $student12 = TableRegistry::get('users');  
     $email=$this->request->data('email'); 
     $password=$this->request->data('password'); 
      $query12 = $student12->find(); 
      $query12->where(['email'=>$email]); 
     foreach($query12 as $datax) 
     { 
     if($datax['password']===$password&&$datax['email']===$email) 
     { 

//Session::write($key, $value); 
//Session::read($key); 
     $this->redirect(['controller'=>'Panal','action' => 'Home']); 
     }else{ 
      $this->redirect(['controller'=>'Student','action' => 'index']); 
     } 
    } 
    } 

    public function logout(){ 

     Session::destroy(); 
     $this->redirect(['controller'=>'Panal','action' => 'Home']); 

    } 
+0

您應該使用CakePHP的驗證組件進行身份驗證。 http://book.cakephp.org/3.0/en/controllers/components/authentication.html –

+0

默認情況下,如何爲auth –

+0

選擇表,Auth組件使用具有憑證字段用戶名和密碼的表「用戶」。你可以重寫這個。要了解更多信息,您必須閱讀文檔和本教程(http://book.cakephp.org/3.0/en/tutorials-and-examples/blog-auth-example/auth.html)。這很容易理解。 –

回答

相關問題