Php 已登录用户会话的Codeigniter重定向循环
我的控制器Php 已登录用户会话的Codeigniter重定向循环,php,.htaccess,codeigniter,Php,.htaccess,Codeigniter,我的控制器 class Backspaze extends CI_Controller { function __construct() { parent::__construct(); session_start(); $this->load->library('session'); $this->load->model('getDB'); $this->IsLogge
class Backspaze extends CI_Controller
{
function __construct()
{
parent::__construct();
session_start();
$this->load->library('session');
$this->load->model('getDB');
$this->IsLogged();
}
function IsLogged()
{
if (!$this->session->userdata('id'))
{
header('Location: '.base_url().'login');
}
}
function Login()
{
$this->load->view('Auth/Login');
}
}
.htaccess
RewriteBase /backspaze
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.*)$ index.php?/$1 [L]
我几乎尝试了所有的事情,在互联网上的网页得到重定向循环,而检查用户登录,请给我一些解决方案
我的配置
$config['uri_protocol']='AUTO' 请检查以下几点
- 在您的情况下,不应在
级别,也就是说,您的控制器由公共和经过身份验证的两部分组成 页。因此,它将在这个内部循环/重定向 仅限控制器constructor
- 将会话检查条件移动到特定页面并重定向
如果假定没有经过身份验证的页面的会话,则转到
页面。在下面 我已经检查了为您创建的登录
页面 理解力user\u详细信息
- 在登录方法中,您应该检查
是否已登录 如果是,则应转到
页面。我创造了一个 用于该仪表板
的方法已标记为
。请检查一下
- 不要在控制器中添加将要执行的
关注CI核心会话\u start()
- 使用CI核心具有的内置
重定向
方法
- 如果需要所有页面,则应在构造函数级别检查会话 要在控制器中进行身份验证
请检查以下几点
- 在您的情况下,不应在
级别,也就是说,您的控制器由公共和经过身份验证的两部分组成 页。因此,它将在这个内部循环/重定向 仅限控制器constructor
- 将会话检查条件移动到特定页面并重定向
如果假定没有经过身份验证的页面的会话,则转到
页面。在下面 我已经检查了为您创建的登录
页面 理解力user\u详细信息
- 在登录方法中,您应该检查
是否已登录 如果是,则应转到
页面。我创造了一个 用于该仪表板
的方法已标记为
。请检查一下
- 不要在控制器中添加将要执行的
关注CI核心会话\u start()
- 使用CI核心具有的内置
重定向
方法
- 如果需要所有页面,则应在构造函数级别检查会话 要在控制器中进行身份验证
请检查以下几点
- 在您的情况下,不应在
级别,也就是说,您的控制器由公共和经过身份验证的两部分组成 页。因此,它将在这个内部循环/重定向 仅限控制器constructor
- 将会话检查条件移动到特定页面并重定向
如果假定没有经过身份验证的页面的会话,则转到
页面。在下面 我已经检查了为您创建的登录
页面 理解力user\u详细信息
- 在登录方法中,您应该检查
是否已登录 如果是,则应转到
页面。我创造了一个 用于该仪表板
的方法已标记为
。请检查一下
- 不要在控制器中添加将要执行的
关注CI核心会话\u start()
- 使用CI核心具有的内置
重定向
方法
- 如果需要所有页面,则应在构造函数级别检查会话 要在控制器中进行身份验证
请检查以下几点
- 在您的情况下,不应在
级别,也就是说,您的控制器由公共和经过身份验证的两部分组成 页。因此,它将在这个内部循环/重定向 仅限控制器constructor
- 将会话检查条件移动到特定页面并重定向
如果假定没有经过身份验证的页面的会话,则转到
页面。在下面 我已经检查了为您创建的登录
页面 理解力user\u详细信息
- 在登录方法中,您应该检查
是否已登录 如果是,则应转到
页面。我创造了一个 用于该仪表板
的方法已标记为
。请检查一下
- 不要在控制器中添加将要执行的
关注CI核心会话\u start()
- 使用CI核心具有的内置
重定向
方法
- 如果需要所有页面,则应在构造函数级别检查会话 要在控制器中进行身份验证
session_start();
codeigniter自行处理。替换这个
header('Location: '.base_url().'login');
与
但请确保已加载url帮助程序删除该行
session_start();
codeigniter自行处理。替换这个
header('Location: '.base_url().'login');
与
但请确保已加载url帮助程序删除该行
session_start();
codeigniter自行处理。替换这个
header('Location: '.base_url().'login');
与
但请确保已加载url帮助程序删除该行
session_start();
codeigniter自行处理。替换这个
header('Location: '.base_url().'login');
与
但请确保已加载url帮助程序在构造时检查会话没有错误。即使它比在所有方法中检查会话更好。@ShaifulIslam,取决于控制器…如果该控制器中的某些页面是公共的,我们不应该在constructor中检查会话。Ashik在您的情况下,它不会检查所有页面,无论此人是否登录,我明白你的意思,但如果离开公共页面,只检查受保护页面的登录,无论我需要签入每个函数还是需要打开一个单独的控制器,如果所有页面都需要在控制器中进行身份验证,则应在构造函数级别检查会话。在构造函数中检查会话没有错。即使是更好的方法是根本不检查会话