0

我在 Windows 7 PC 上使用带有 xampp 的 codeigniter。

我正在尝试使用 codeigniter 的内置 cookie,但我似乎无法让我的 cookie 设置/保留。我知道 cookie 代码正在消失,它实际上并没有保存。

这是cookie代码:

$this->input->set_cookie('userID', $userID, time()+259200, 'http://localhost', '/');

运行此程序并在每个页面上运行后,我已包含print_r($_COOKIE);查看正在设置的任何/所有 cookie,但没有显示任何内容。

有什么我错过的吗?

4

2 回答 2

0

根据文档:

过期时间以秒为单位设置,将添加到当前时间。不包括时间,而只包括您希望 cookie 有效的秒数。如果过期设置为零,cookie 只会在浏览器打开时持续存在。

所以你的代码应该是这样的:

$this->input->set_cookie('userID', $userID, 259200);

另外我建议您在配置文件中设置域名和 cookie 路径。

于 2013-08-28T05:21:19.550 回答
0

这是遇到此问题的其他任何人的解决方案:

无法在 localhost 上创建 Cookie,您需要使用它http://127.0.0.1

进入 CI 的 application/config/config.php 并更改您可能拥有的对 localhost 的任何引用,并将它们改为对http://127.0.0.1cookie 执行相同的操作。还要设置以下变量:

$config['cookie_domain']    = "127.0.0.1";
$config['cookie_path']      = "/";

然后存储cookie:$this->input->set_cookie('userID', $userID, 259200);

于 2013-08-28T17:36:51.620 回答