未找到点击注销URL时的Codeigner php注销问题


Codeigniter php logout issue when clicked logout URL not found

嗨,我刚开始使用ci登录&注销。当我尝试注销它时显示未找到url/loginControlroller/logout问题出在哪里?是因为会议还是我错过了什么?

这是我的控制器

<?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;
    }


  }
  }
  ?>

更改代码

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

public function logout(){   
    $this->session->sess_destroy(); 
    redirect('loginController/login');
}
  1. 在索引函数上加载$this->load->helper('url');,并在验证函数上将$this->load->helper(array('form', 'url'));更改为$this->load->helper(array('form'));
  2. 重定向时使用base_url()

  3. 在功能注销时,将第二行redirect('login');更改为redirect(base_url('/'.get_class($this)));

我希望它能起作用并帮助你,只需记住阅读这篇文章,注销后登录页面将通过index()函数访问。

如果这不起作用,只需尝试将baseurl()更改为siteurl(),但您应该知道其中的区别。