網站建立在代碼點火器的框架。我有兩個鏈接(喜歡和不喜歡)。當你點擊鏈接時,相應的值會增加或減少。您可以看到網站:http://joke.guluzade.com/jokes/view/24不能設置cookie的正確
我想要什麼:那用戶只能更改一次該值。我通過cookies做到這一點。例如,如果用戶點擊「喜歡」鏈接,則值+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']);
}
}
}
任何人都可以說,我做錯了什麼?
檢查,如果這可以幫助您http://stackoverflow.com/questions/612034/how-can-i-set-a-cookie-and-then-redirect-in- PHP – Chinook
http://www.tek-tips.com/viewthread.cfm?qid=1509045 – Chinook
謝謝你,支奴幹。它幫助 – jumancy