Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/codeigniter/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php can';无法正确设置cookie_Php_Codeigniter - Fatal编程技术网

Php can';无法正确设置cookie

Php can';无法正确设置cookie,php,codeigniter,Php,Codeigniter,网站建立在代码点火器框架之上。我有两个链接(喜欢和不喜欢)。单击链接时,相应的值会增加或减少。您可以查看以下网站: 我想要的是:该用户只能更改此值一次。我用饼干做的。例如,如果用户单击“喜欢”链接,则值+5变为+6。然后,如果单击“不喜欢”,则该值不得更改。用户应该只有一次喜欢或不喜欢的机会。现在它无法正常工作,如果您单击“喜欢”,也可以单击“不喜欢”,但我只想更改“谎言”或“不喜欢”值一次 如何操作:我检查cookie是否已设置,函数不执行任何操作,如果未设置,则设置cookie并更改值。但如

网站建立在代码点火器框架之上。我有两个链接(喜欢和不喜欢)。单击链接时,相应的值会增加或减少。您可以查看以下网站:

我想要的是:该用户只能更改此值一次。我用饼干做的。例如,如果用户单击“喜欢”链接,则值+5变为+6。然后,如果单击“不喜欢”,则该值不得更改。用户应该只有一次喜欢或不喜欢的机会。现在它无法正常工作,如果您单击“喜欢”,也可以单击“不喜欢”,但我只想更改“谎言”或“不喜欢”值一次

如何操作:我检查cookie是否已设置,函数不执行任何操作,如果未设置,则设置cookie并更改值。但如果cookie设置为“喜欢”,当您单击“不喜欢”时,它不会看到该cookie

以下是代码:

function vote ($mm, $id){ //get the parameters (like or dislike and id)
    $name = $mm;
    $value = (int)$id;
    $time = time()+3600;
    if(isset($_COOKIE[$value])){
            redirect($_SERVER['HTTP_REFERER']);
    } else {
        SetCookie($value, $name, $time);
        if($name == "like"){
            $this->db->select('like');
            $this->db->where('id', $id);
            $query = $this->db->get('jokes');
            $data = $query->row_array();
            $likes = $data['like'];
            $likes++;
            $dd = array();
            $dd['like'] = $likes;        
            $this->db->where('id', $id);
            $this->db->update('jokes', $dd);
            redirect($_SERVER['HTTP_REFERER']);                 
        } else {
            $this->db->select('dislike');
            $this->db->where('id', $id);
            $query = $this->db->get('jokes');
            $data = $query->row_array();
            $likes = $data['dislike'];
            $likes--;
            $dd = array();
            $dd['dislike'] = $likes;
            $this->db->where('id', $id);
            $this->db->update('jokes', $dd);   
            redirect($_SERVER['HTTP_REFERER']);               
        }    
    }
}
有人能说,我做错了什么吗?

使用get_cookie(“some_cookie”)或get_cookie(“some_cookie”),对;而不是$cookie[$value]

此外,使用

                $cookie = array(
               'name'   => 'The Cookie Name',
               'value'  => 'The Value',
               'expire' => '86500',
               'domain' => '.some-domain.com',
               'path'   => '/',

                );

               set_cookie($cookie); 

你可以从下面的帖子中找到答案


检查一下这是否对你有帮助谢谢你,奇努克。信息技术helped@Chinook应该把他的评论作为答案发布,这样OP可以接受。我已经解决了。问题在路径上,我添加了路径“/”,它工作正常。我找到了答案。阅读评论以回答问题