У меня возникла проблема с созданием файлов cookie в PHP.Как создать cookie
Сценарий это. Я создал систему голосования на своем сайте. И каждый пользователь, который будет голосовать, должен быть ограничен только 10 голосами. Если сайт обнаружил, что пользователь автоматически запустит свои файлы cookie. И, наконец, через 3 месяца все пользовательские данные (файлы cookie) для этого пользователя будут автоматически уничтожены.
Как я могу это сделать? Пожалуйста, помогите мне. Я нахожусь в центре проекта, и я новичок в 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