2014-11-08 94 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'); 
    }