Php 如果用户登录或未登录CodeIgniter
当用户登录或注册时,他的Php 如果用户登录或未登录CodeIgniter,php,codeigniter,authentication,Php,Codeigniter,Authentication,当用户登录或注册时,他的$\u会话['username']会获取用户名的值。我只想允许他们在注册后访问某些控制器。但我不喜欢这样写: function __construct() { session_start(); if(empty($_SESSION['username'])) die(); parent::__construct(); } 在每个控制器中,我不想让未链接的人看到。有没有更好的办法?谢谢。Codeigniter已经准备好了 除此之外,如果您有相同类型
$\u会话['username']
会获取用户名的值。我只想允许他们在注册后访问某些控制器。但我不喜欢这样写:
function __construct()
{
session_start();
if(empty($_SESSION['username']))
die();
parent::__construct();
}
在每个控制器中,我不想让未链接的人看到。有没有更好的办法?谢谢。Codeigniter已经准备好了
除此之外,如果您有相同类型的控制器,您可以编写一个基本控制器并从中进行扩展。基本控制器可以包含验证控制器是否可访问的代码,并且不需要在创建的每个控制器类中编写该代码。请参阅。Codeigniter已启动
除此之外,如果您有相同类型的控制器,您可以编写一个基本控制器并从中进行扩展。基本控制器可以包含验证控制器是否可访问的代码,并且不需要在创建的每个控制器类中编写该代码。请参阅 < P>您可以考虑扩展BASIC Controller类(参见),以提供<代码> RealthLogin < /Cult>函数:
class MY_Controller extends CI_Controller {
protected function require_login() {
if(empty($_SESSION['username']))
die();
}
}
一旦有了此功能,就可以在要保护的每个控制器的构造函数中调用require\u login()
:
function __construct() {
$this->require_login();
}
最后,代替使用PHP的<代码> $ySession 会话> <代码>库或.< /P> < P>您可以考虑扩展BASIC Controller类(参见)以提供<代码> RealthLogin 函数:
class MY_Controller extends CI_Controller {
protected function require_login() {
if(empty($_SESSION['username']))
die();
}
}
一旦有了此功能,就可以在要保护的每个控制器的构造函数中调用require\u login()
:
function __construct() {
$this->require_login();
}
最后,代替使用PHP的<代码> $ySession 超全局会话存储,您可以考虑利用代码点火器>代码>会话< /C>库或.< /p> 函数 {
} 函数_u构造() { }Codeigniter有自己的会话,而不是$\u会话。
-他们制作了COOKIE,我需要会话,因为这样人们就可以通过COOKIE更改用户名并登录到任何帐户。这只是说说而已。有时,这里会出现问题,而提出问题的人并不知道这一点。您可以使用$\u SESSION
,因为这是PHP。同样的道理也适用于。有一些原因可以让您在Codeigniter的会话
库中使用本机会话,但@hakre是对的——大多数CI都是出于某种原因编写的,在您可以的地方利用它是很好的。查看一个不错的本机会话包装器Codeigniter有自己的会话,而不是$\u会话。
-他们制作了COOKIE,我需要会话,因为这样人们就可以通过COOKIE更改用户名并登录到任何帐户。这只是说说而已。有时,这里会出现问题,而提出问题的人并不知道这一点。您可以使用$\u SESSION
,因为这是PHP。同样的道理也适用于。有一些原因可以让您在Codeigniter的会话
库中使用本机会话,但@hakre是对的——大多数CI都是出于某种原因编写的,在您可以的地方利用它是很好的。查看一个很好的本机会话包装器别忘了调用parent::\u construct()
@rjz:问题是CI找不到我的\u控制器。我把它放在应用程序/核心中从wiki调用undefined方法
,控制器位于application/libraries/MY_controller.php
。只要把它复制过来,你就应该是金色的@rjz:2.x版本将我的u类扩展器重新定位到app/core-请参阅2.x的相关文档。
-我尝试了它,但是仍然没有定义方法。哦,现在我需要编写而不是扩展CI_控制器
扩展我的u控制器别忘了调用父::u构造()
@rjz:问题是CI找不到我的\u控制器。我把它放在应用程序/核心中从wiki调用undefined方法
,控制器位于application/libraries/MY_controller.php
。只要把它复制过来,你就应该是金色的@rjz:2.x版本将我的u类扩展器重新定位到app/core-请参阅2.x的相关文档。
-我尝试了它,但是仍然没有定义方法。哦,现在我需要编写而不是扩展CI_控制器
到扩展我的u控制器