CodeIgniter Cookie

时间:2013-04-10 07:43:14

标签: codeigniter

我在处理Cookie方面遇到了一些麻烦。最初我将cookie值设置为0.当用户导航到下一页时,我想将cookie值增加1。我的控制器是这样的:

class Welcome extends CI_Controller {

    public function index() {
        $this->load->helper('cookie');
        $this->input->set_cookie("starttime", time(),time()+3600);
        $this->input->set_cookie("pagevisited",0,time()+3600);
        $_SESSION['currenttime'] = time();
        $this->load->view('indexpage');
    }

    public function page1() {
        $this->load->helper('cookie');
        $value = $this->input->cookie("pagevisited");
        $this->input->set_cookie("pagevisited",$value+1,time()+3600);
        $this->load->view('page1');
    }

    public function page2() {
        $this->load->helper('cookie');
        $value = $this->input->cookie("pagevisited");
        $this->input->set_cookie("pagevisited",$value+1,time()+3600);
        $this->load->view('page2');
    }
}

以上代码无效。 cookie值仍为0.我注意到CI也存储具有相同cookie名称的会话变量。

1 个答案:

答案 0 :(得分:4)

我认为你的cookie语法不正确。 CodeIgniter手册说只需要名称和值,但是为了添加额外的参数,你需要设置它们或定义一个数组,我相信。以下是定义所需cookie的两种方法。

$cookie = array(
    'name'   => 'The Cookie Name',
    'value'  => 'The Value',
    'expire' => '86500'
);

$this->input->set_cookie($cookie);

或者

$this->input->set_cookie($name, $value, $expire, $domain, $path, $prefix, $secure);