如何在php代码点火器中按下后退按钮时停止将登录用户重定向到登录页面



我有一个用户名和密码的登录名,用户登录后,用户重定向到仪表板,如果用户按下浏览器的后退按钮,它会将用户重定向到登录页面,而我想将用户重定向至已经登录的仪表板。如果有人能帮我实现这一点,我将不胜感激。这是我的登录名。php控制器

<?php
class Login extends CI_controller {
public function __construct()
{
parent::__construct();

$this->load->library('form_validation');
$this->load->library('encrypt');
$this->load->model('login_model');

}
function index()
{
//echo  CI_VERSION; die;
//echo  $this->encrypt->encode('123456');
//echo  "<br>".$this->encrypt->decode('ADxTYFI1ATFSYwFn');
//die;
$this->load->view('login');
}
function validation()
{
//  print_r($_REQUEST);
// die;

$this->form_validation->set_rules('username', 'Username', 'required|trim' );
$this->form_validation->set_rules('password' , 'Password' , 'required');
if ($this->form_validation->run())
{

$res = $this->login_model->can_login($this->input->post('username'), $this->input->post('password'));
if(is_array($res)){
$stored_password = $res['stored_password'];
$row = $res['row'];
if(password_verify($this->input->post('password'),$stored_password)){
$userID = $row->id;//die;
$this->session->set_userdata('admin',$userID);
redirect('admin/dashboard');

}else{
$this->session->set_flashdata ('message','Invalid Credentils');
redirect('admin/login');
}
}else{
$this->session->set_flashdata ('message','Invalid Credentils');
redirect('admin/login');
}

}
else
{
$this->index();
}
}
}

这是我的login_model.php

<?php
class Login_model extends CI_Model
{
function can_login($username, $password)
{
$this->db->where('username', $username);
$query = $this->db->get('user_login');
if($query->num_rows() > 0)
{
$result = $query->row();
//print_r($result);die;
$stored_password = $result->password;
$return = array('stored_password'=> $stored_password , 'row' => $result);
return $return;
}
else
{
return FALSE;
}
}

这是我的dashboard.php控制器

<?php
class Dashboard extends CI_Controller
{
function __construct()
{
parent::__construct();
if(!$this->session->userdata('admin'))
redirect('admin');
// else{
//  redirect('admin/dashboard');
// }
}
function index()
{
$this->load->view('admin/dashboard');
}
function logout()
{  
$this->session->sess_destroy();
redirect('admin');
}
}

已解决,我通过在我的login.php控制器中添加会话解决了这个问题

public function __construct()
{
parent::__construct();
if($this->session->userdata('admin'))
redirect('dashboard');
$this->load->library('form_validation');
$this->load->library('encrypt');
$this->load->model('login_model');
}

相关内容

  • 没有找到相关文章

最新更新