用户
 找回密码
 入住 CI 中国社区
搜索
查看: 4728|回复: 6
收起左侧

[讨论/交流] CI 2.1.0无法设置cookie

[复制链接]
发表于 2011-12-7 22:16:31 | 显示全部楼层 |阅读模式
至少在我这里是这样,用了原始ci的程序,仍然无法设置cookie。
环境:xampp 1.7.7,php版本为5.3.8,Windows7 x64,chrome15和Firefox8。
cookie的helper已加载,autoload和使用时再load两种都尝试过;
$this->input->set_cookie(array('name' => 'Name', 'value' => 'Value'))

$this->input->set_cookie('Name', 'Value')

set_cookie('Name', 'Value')
三种设置方式也都试过。
但是我把system/core/Input.php里的set_cookie方法结束时的原生setcookie方法里只保留$prefix.$name, $value两个参数就可以设置cookie了,在chrome里就可以看到cookie了。

不知道有没有人也遇到这个问题呢,或者这只是我的个例而已,求助。{:soso_e118:}
发表于 2011-12-11 19:43:14 | 显示全部楼层
怪啦~我也是用的新的2.1就能设cookie呀~
发表于 2011-12-11 22:14:15 | 显示全部楼层
PHP复制代码
 
<?php
 
if (!defined('BASEPATH'))
    exit('No direct script access allowed');
 
class Welcome extends CI_Controller {
 
    public function index() {
        $this->load->view('welcome_message');
    }
 
    public function setcookie($key, $value) {
        $this->load->helper('cookie');
        set_cookie($key, $value, '86500');
    }
 
    public function getcookie($key) {
        $this->load->helper('cookie');
        var_dump(get_cookie($key));
    }
 
}
 
复制代码

我是的这样就可获取cookie了 一定要设置时间大于0
发表于 2011-12-12 10:55:17 | 显示全部楼层
我设置的cookie 也取不出来啊,不知道怎么搞的
 楼主| 发表于 2011-12-22 20:22:33 | 显示全部楼层
确实要设置过期时间,否则是没法设置cookie。
PHP复制代码
 
$this->input->set_cookie('flavour1', 'mobile1');
$this->input->set_cookie('flavour2', 'mobile2', 365 * 24 * 60 * 60);
 
复制代码

只有第二行设置成功cookie。
发表于 2012-8-19 17:58:38 | 显示全部楼层
貌似2.1.1不能用get_cookie()
发表于 2013-10-8 16:53:24 | 显示全部楼层
thanks 原来需要设置过期时间啊

本版积分规则