如何从视图页面调用控制器方法?



我是Codeigniter的初学者。我创建了带有会话的简单登录页面。我使用正确的登录详细信息登录。现在我显示视图页面。

我的问题是如何设置注销。如何从查看页面再次调用控制器方法?

我也创建了注销方法。

我的控制器页面:

//load database libray manually
$this->load->database();
$this->load->model('L_Model');
$this->load->helper('url');
$this->load->library('session');
//load Model

}
public function check_login(){   
  $data['error']="";
  if($this->input->post('email') && $this->input->post('pass')){
    $email=$this->input->post('email');
    $pass=$this->input->post('pass');
    $user_count=$this->L_Model->check_user($email,$pass);
    if($user_count==0){
      $data['error']="<h4 style='color:red;text-align:center'>Invalid user details</h4>";
    }else{
      $this->session->set_userdata('email', $email);
      redirect('Login/dash');
    }
  }else{
    $data['error']="<h4 style='color:red;text-align:center'>Enter required details</h4>";
  }
 $this->load->view('m-login',$data);
}
public function dash(){
  if(!$this->session->userdata('email')){
     $data['error']="<h4 style='color:red;text-align:center;'>Please login</h4>";
     $this->load->view('m-login',$data);
  }else{
     $this->load->view('dashboard');
  }
}
public function logout(){
 $this->session->unset_userdata('email');   
 $this->load->view('m-login');
}

} ?> 我的视图页面:

 <!DOCTYPE html>
    <html lang="en">
    <head>
    <title>CSS Website Layout</title>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <style>
      body {
        margin: 0;
      }
     .header,.footer,.menu {
       background-color: #f1f1f1;
       padding: 15px;
       text-align: center;
      }
     .menu{
     margin-top:20px;
     }
    </style>
     </head>
     <body>
     <div class="header">
       <h3>Welcome to your dashboard...<?=$this->session->userdata('email');?> 
      </h3>
    </div>
     <div class="menu">
       demo
     </div>
    </body>
    </html>

这就是您要做的,只需路由到您的注销方法,例如redirect(base_url(login/logout));登录是控制器,注销是在编码点火器中清除会话的方法,例如$this->session->sess_destroy()session_destroy();但在执行此操作之前,请确保您具有像$this->load->library('session');这样的加载 Codigniter 会话库。
要重定向回登录页面,在清除所有会话数据后,请使用此选项将登录页面重定向回登录页面作为重定向(base_url('登录'((;
注销代码为

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

在你的 html 中这样做

<div><a href="<?php echo base_url('login/logout');?>">Logout</a></div>


我希望这能帮助你引起我的注意

相关内容

  • 没有找到相关文章

最新更新