这真的让我抓狂了,我过去用过这个没有任何问题。
所以我有一个Codeigniter安装,在这个安装中我自动加载了会话,我也自动加载了一个名为“site”(site_helper.php)的助手。
现在,在site_helper中,我执行以下操作:
function checkLogin(){
$ci = &get_instance();
$session = $ci->session->user['id']; //this line throws errow
}
checkLogin();
我得到的结果是:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Welcome::$session
Filename: helpers/site_helper.php
Line Number: 15
如果你想知道什么是“欢迎”,它是我的默认控制器。这在我工作过的其他网站上运行得很好。我完全不知道这里的问题是什么。
任何帮助都是感激不尽的!
5条答案
按热度按时间dldeef671#
你有没有试过
文件名:application/helpers/Site_helper.php“首字母必须全部大写”
http://www.codeigniter.com/user_guide/general/ancillary_classes.html
然后在控制器上
确保您已设置会话保存路径我使用该高速缓存文件夹。这是我设置我的文件夹的方式。具有文件夹权限0700
smdncfj32#
如果它不工作,请按照下面的请检查您的PHP版本,我也面临着同样的问题,然后我知道我是建立在Codeigniter 2和PHP 5. 6的应用程序,我检查Codeigniter 2. 0和PHP 7. 3版本,我得到了这个问题。所以我尝试与PHP 5. 6版本,它的工作。
wlwcrazw3#
也许您忘记了加载会话库
llew8vvj4#
确保在autoload.php文件中有自动加载会话库
自动加载. php:数组('会话');
对于访问会话变量:
新增
打印_r($数据)
。您将获得有用的结果。
dgjrabp25#
这就是我在Login.php控制器中进行身份验证时知道“logged_in”是会话密钥的方法