我在使用PHP創建cookie方面存在問題。如何創建cookie
情況是這樣的。我在我的網站上創建了一個投票系統。而且每個投票的用戶只能被限制在10票。如果該網站檢測到該用戶,它將自動過期他/她的cookies。最後3個月後,該用戶的所有用戶數據(cookies)將自動銷燬。
我該怎麼做?請幫助我我正在項目中,我是PHP的初學者。謝謝。
控制器
public function vote_photo() {
$vote = $this->contest_m->vote_photo($pid, fn_get_user('id'));
$code = random_string('alnum', 42);
if(! empty($vote)){
echo $vote['msg'];
$cookie = array(
'name' => 'contest_cookies',
'value' => $code,
'expire' => '7776000',
'domain' => $this->input->server('HTTP_HOST'),
'path' => '/',
'prefix' => 'sg_'
);
$this->input->set_cookie($cookie);
}
$data = array(
'machine_id' => $_SERVER['REMOTE_ADDR'],
'cookie' => $code ,
'date' => '1',
'photo_id' => '1',
'contest_id' => '1'
);
$this->contest_m->save_cookie_count_ip($data);
$this->input->set_cookie($cookie);
}
}
那麼,什麼是錯的?基本的想法看起來不錯。但是,您正在調用'set_cookie()'兩次。如果'$ vote ['msg']'爲空,第二個會失敗,因爲在這種情況下,你不會設置'$ cookie'。 – MrTweek
您正在使用一些自定義cookie庫,我們無法幫助您。最好我們可以指向你內置的cookie功能:http://php.net/setcookie –
編輯完格式後,我們可以看到額外的'}'。我不知道這是否能解決任何問題,但它確實有助於格式化代碼。 – DutGRIFF