2013-08-28 48 views
0

我在Windows 7 PC上使用xignpp的codeigniter。Codeigniter,xampp饼干没有设置

我想使用codeigniter内置的cookie,但我似乎无法让我的cookies设置/保持。我知道Cookie代码正在关闭,它实际上并没有保存。

这里的饼干代码:

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

运行在此之后并在每一页上,我已经包括print_r($_COOKIE);看到任何/正在设置的所有Cookie,但没有显示出来。

有什么我错过了吗?

回答

0

根据该文档:

到期设置在几秒钟内,这将被添加到当前的时间 。不要包含时间,而只需要从现在开始您希望cookie有效的秒数 。如果到期时间为 设置为零,则只有在浏览器处于打开状态时,Cookie才会持续。

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

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

此外,我建议你在配置文件中设置的域名和Cookie路径。

+0

我想就像你说的做。我设置我的config.php文件中的跟进: '$配置[ 'cookie_domain'] \t = “HTTP:// localhost” 的;'' $配置[ 'cookie_path'] \t \t = “/”;' 并改为'$ this-> input-> set_cookie('userID',$ userID,259200);'但它仍然没有设置。 应该指出,我最初使用的方法已在其他领域为我工作,它不会为本地主机 – Eric

0

下面是运行到这个问题谁都解决方案:

Cookie不能在localhost创建,你需要使用http://127.0.0.1代替。

进入CI的应用程序/ config/config.php并更改对您可能具有的本地主机的任何引用,并将其更改为http://127.0.0.1,并对cookie执行相同的操作。设置下列变量,以及:

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

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