可以同时运行会话和cookie帮助器吗?因为我正在尝试,但我不能让cookie为我的生活设置,无论我尝试什么方法,无论是将CI的文档落到字面上并以这种方式来做,还是试图仅通过原生php来处理cookie。无论哪种方式,我都尝试不会设置cookie。
我尝试将它们设置为:
$this->input-set_cookie('AutoRemember', $mID.'-'.$hashbrown, $shortlife);
and
setcookie('AutoRemember', $mID.'-'.$hashbrown, $shortlife);我试着和他们一起工作,比如
echo $this->input->cookie('AutoRemember');
and
echo $_COOKIE['AutoRemember'];cookie助手是自动加载的,就像会话助手一样,所以它们也会被加载。会话帮助器就像一个护身符,但是cookies让我头疼。我想要做的就是设置一个cookie,这样我就可以在我的网站上有一个“记住我”的功能,这应该是一个5分钟的交易,我花了几个小时的时间通过各种方式传递它,要么设置一个视图,让它可以在视图中设置,要么将它设置在控制器中,什么都不做。
似乎也不是浏览器的问题,因为Chrome和FireFox似乎都没有存储cookie。
那么它是同时使用会话和cookie,还是在设置cookie时是codeigniter垃圾,并且无论您尝试哪种方式,都会扼杀您的努力。
发布于 2012-06-27 01:00:55
通过查看一些表达式引擎代码( Ellis Labs提供的一个使用CI的应用程序),他们在set_cookie函数中调用PHP原生setcookie函数,所以这可能是可行的方法。
看起来让cookie助手与会话库协同运行应该没有问题。也就是说,值得注意的是,Session类直接调用setcookie,而不是使用cookie helper (重用代码CI的方式!)。
一般而言,调用PHP函数setcookie应该绕过任何CI内容,并且无论如何都要工作,所以如果这不工作,那么可能有其他事情正在发生。最好的办法可能是从setcookie开始,并尝试让它正常工作。
检查setcookie的返回值,如果它的false输出已经启动,这就是它不工作的原因;可能也是您在尝试CI cookie helper时遇到的问题。
https://stackoverflow.com/questions/11211989
复制相似问题