codeigniter cookie helper与会话助手相结合

时间:2012-06-26 16:38:22

标签: php codeigniter cookies setcookie

是否可以运行会话和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帮助程序就像会话一样自动加载,因此它们被加载。会话助手就像一个魅力,但我得到的饼干只是一个令人头疼的问题。我想要做的就是设置一个cookie,这样我就可以在我的网站上有一个“记住我”的功能,应该做5分钟的交易,花了几个小时的时间通过设置一些东西来传递它查看以便它可以在视图中设置它,或者在控制器中设置它而不需要任何内容​​。

似乎不是浏览器问题,因为Chrome和FireFox似乎都没有将cookie存储在任何地方。

因此,无论您尝试使用哪种方式,都可以使用会话和Cookie,也可以使用codeigniter垃圾来设置Cookie并杀死这些内容。

1 个答案:

答案 0 :(得分:1)

查看一些Expression Engine代码(Ellis Labs提供的使用CI的应用程序),他们在setcookie函数中调用PHP本机set_cookie函数,所以也许这是通往去。

看起来让cookie帮助程序与Session库一起运行应该没有问题。这就是说值得注意的是Session类是直接调用setcookie而不是使用cookie帮助器(重用代码CI的方式!)。

一般情况下,调用PHP函数setcookie应该绕过任何CI的东西并且无论如何都要工作,所以如果这不起作用,可能会发生其他事情。最好的选择可能是从setcookie开始,并试着让它发挥作用。

检查setcookie的返回值,如果false输出已经启动,那就是它不起作用的原因;可能与您在尝试CI cookie帮助程序时遇到的问题相同。