保护CodeIgniter站点 我正在尝试使用http://code.tutsplus.com/tutorials/easy-authentication-with-codeigniter--net-20248上的Tuts +网站上建议的身份验证方法。
验证用户后,我按如下方式创建会话变量:
$_SESSION['username'] = $this->input->post('email_address');
Tuts +然后建议将以下内容放在所有控制器中:
public function __construct() {
session_start();
parent::__construct();
if(!ISSET($_SESSION['username'])){
redirect('admin_controller');
}
}
当我将它放在我的main_controller中时,这没有任何问题,但是当我将代码添加到其他控制器时,我得到:
遇到PHP错误 严重性:警告 消息:session_start()[function.session-start]:无法发送会话缓存限制器 - > >标头已经发送(输出从/.............../application/controllers> /contact_controller.php:146开始)
这可能是一个非常愚蠢的问题,但我如何在其他控制器中检查会话变量?
答案 0 :(得分:0)
这不是关于redirect
功能的会话;必须在没有任何输出之前调用它,请在第146行检查文件/contact_controller.php
是否在重定向之前回显任何内容。
有关header的更多信息。