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控制器