サイトはCode Igniterフレームワーク上に構築されています。私は2つのリンク(好き嫌い)を持っています。リンクをクリックすると、対応する値が増減します。サイトを見ることができます:http://joke.guluzade.com/jokes/view/24はクッキーを正しく設定できません
私が望むもの:このユーザーはこの値を1回だけ変更できます。私はクッキーでそれをする。たとえば、ユーザーが「好き」リンクをクリックすると、値+5は+6になります。次に、「嫌い」をクリックすると、値が変更されてはなりません。ユーザーは好き嫌いが1回しかないはずです。これで正しく動作しません。クリックすると嫌なことをクリックすることもできますが、嘘や嫌いの値を1回だけ変更したいだけです。
どのようにしますか:クッキーが設定されているかどうかをチェックし、機能が何もしない場合はクッキーを設定して値を変更します。しかし、クッキーが好きに設定されている場合、あなたが嫌いなものをクリックすると、そのクッキーは表示されません。ここで
はコードです:
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- phy – Chinook
http://www.tek-tips.com/viewthread.cfm?qid=1509045 – Chinook
ありがとう、チヌーク。それは助けて – jumancy