如何限制用户进入codeigniter中的登录页面
How to restrict users to go to login page in codeigniter
我是 php 和 codeigniter 的新手。我不知道如何限制用户在成功登录过程后返回登录页面一次。我也创建了会话。
我的会话是按以下方式在模型中创建的
$newdata = array(
'id' => $query['entity_id'],
'name' => $query['entity_name'],
'uname' => $query['entity_uname']);
$this->session->set_userdata($newdata); }
我在 ci 中听说过 is_logged_in,但我不知道如何 implement/check 在 ci 中使用它。
任何人都可以帮助我更新代码。
我的登录控制器如下:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends MY_Controller {
public function index()
{
$this->load->view('dashboard');
}
} ?>
它出现在我的会话建立后的模型页面之后
public function login()
{
// before rest of code here, check for existing session
if ($this->session->has_userdata('id') && (int)$this->session->userdata('id') > 0) {
// means user is logged in, redirect them to some logged in page in that case
redirect('profile', 'refresh');
}
// here you write login method logic and check for credentials
}
您可以像这样检查用户会话
if($this->session->userdata('id')){
redirect('profile', 'refresh');
}else{
// load your login page
}
或在成功登录后为您的会话添加新密钥
$this->session->set_userdata('logged_in',true);
然后像这样检查
if($this->session->userdata('logged_in') == true){
redirect('profile', 'refresh');
}else{
// load your login page
}
请使用以下代码
$newdata = array(
'id' => $query['entity_id'],
'name' => $query['entity_name'],
'uname' => $query['entity_uname']
);
$this->session->set_userdata($newdata);
$this->session->set_userdata('is_logged_in','true');
现在您的会话 is_logged_in 变量值为真
控制器代码如下:
class Login extends MY_Controller {
public function __construct() {
parent::__construct();
if($this->session->userdata('is_logged_in') == true){
redirect('home');
}
else{
redirect('login');
}
}
}
此代码会对您有所帮助
我是 php 和 codeigniter 的新手。我不知道如何限制用户在成功登录过程后返回登录页面一次。我也创建了会话。 我的会话是按以下方式在模型中创建的
$newdata = array(
'id' => $query['entity_id'],
'name' => $query['entity_name'],
'uname' => $query['entity_uname']);
$this->session->set_userdata($newdata); }
我在 ci 中听说过 is_logged_in,但我不知道如何 implement/check 在 ci 中使用它。 任何人都可以帮助我更新代码。
我的登录控制器如下:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
class Login extends MY_Controller {
public function index()
{
$this->load->view('dashboard');
}
} ?>
它出现在我的会话建立后的模型页面之后
public function login()
{
// before rest of code here, check for existing session
if ($this->session->has_userdata('id') && (int)$this->session->userdata('id') > 0) {
// means user is logged in, redirect them to some logged in page in that case
redirect('profile', 'refresh');
}
// here you write login method logic and check for credentials
}
您可以像这样检查用户会话
if($this->session->userdata('id')){
redirect('profile', 'refresh');
}else{
// load your login page
}
或在成功登录后为您的会话添加新密钥
$this->session->set_userdata('logged_in',true);
然后像这样检查
if($this->session->userdata('logged_in') == true){
redirect('profile', 'refresh');
}else{
// load your login page
}
请使用以下代码
$newdata = array(
'id' => $query['entity_id'],
'name' => $query['entity_name'],
'uname' => $query['entity_uname']
);
$this->session->set_userdata($newdata);
$this->session->set_userdata('is_logged_in','true');
现在您的会话 is_logged_in 变量值为真
控制器代码如下:
class Login extends MY_Controller {
public function __construct() {
parent::__construct();
if($this->session->userdata('is_logged_in') == true){
redirect('home');
}
else{
redirect('login');
}
}
}
此代码会对您有所帮助