我在处理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名称的会话变量。
答案 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);