2014-11-08 89 views
0

嗨,我新來的只是工作在登錄&註銷。當我嘗試註銷時 顯示URL未找到/ loginController /註銷 問題是什麼?是因爲會議還是我錯過了什麼?Codeigniter PHP註銷問題當點擊註銷URL未找到

這裏是我的控制器上的指數函數

<?php 

class loginController extends CI_Controller{ /**controller*/ 

public function index(){ 
    $this->login(); 
} 
public function login(){ 
    $this->load->view('login'); 
} 
    public function home(){ 
    if ($this->session->userdata('logged')){ 
     $this->load->view('main'); 
    } else { 
     redirect('loginController/denied'); 
} 
} 
public function denied(){ 
    $this->load->view('denied_page'); 
} 
    public function login_validation()        /**set rules*/ 
    { 
    $this->load->helper(array('form', 'url')); 

    $this->load->library('form_validation'); 

    $this->form_validation->set_rules('username', 
    'Username',   'required|min_length[3]|max_length[12]'); 
    $this->form_validation->set_rules('password', 
    'Password', 'required|sha1|callback_password_check'); 

    if ($this->form_validation->run()){      /** form valdation*/ 
     $data = array(
     'username' => $this->input ->post('username'), 
     'logged' => 1 
     ); 
     $this->session->set_userdata($data); 
     redirect('main'); 
     } else { 

     $this->load->view('login'); 





     } 
    } 

    public function logout(){    //login 
    $this->session->sess_destroy(); 
    redirect('login'); 
    } 


    public function password_check(){ 

    $username = $this->input->post('username'); 
    $password = $this->input->post('password'); 

    $this->load->model('users'); 

    if($this->users->log_in($username, $password)){ 
     return True; 
     }else{ 

    $this->form_validation->set_message('password_check', 
'Incorrect username or password.'); 
     return False; 
    } 




    } 
    } 
    ?> 
+0

你肯定有不衝突的路線地方?你能發佈路線嗎? – 2014-11-08 06:30:27

+0

它是我的路線$ route ['default_controller'] =「main」; $ route ['404_override'] =''; – 2014-11-08 15:33:50

回答

-1
  1. 負荷$this->load->helper('url');和你的驗證功能改變$this->load->helper(array('form', 'url'));$this->load->helper(array('form'));。重定向使用base_url()

  2. 在功能註銷第二行redirect('login');更改爲redirect(base_url('/'.get_class($this)));

我希望它的工作原理,並幫助你,只記得閱讀this和退出後的登錄頁面時

  • 通過你的index()函數進行訪問。

    如果這不起作用只是嘗試將base_url()更改爲site_url(),但您應該知道有什麼區別。

  • +0

    重定向('login')'是完全正確的,實際上,它應該如何完成(如果路由允許的話)。我不明白爲什麼2)特別是爲什麼那可怕的3)。沒有使用的路線它是不可能的告訴什麼是錯的代碼 – 2014-11-08 06:30:08

    +0

    也許你是對的,但我不知道如何重定向背後的場景,以及它如何對待參數 – 2014-11-08 06:34:34

    +0

    那麼,爲什麼不閱讀文檔和代碼,然後,而不是猜測答案? – 2014-11-08 06:38:55

    0

    更改代碼

    public function logout(){    //login 
    
        $this->session->sess_destroy(); 
        redirect('login'); 
    } 
    

    public function logout(){ 
    
        $this->session->sess_destroy(); 
        redirect('loginController/login'); 
    }