Я, чтобы ограничить доступ к конкретной странице, если она посетила более чем один раз в день, так что я сделал следующее:PHP - сохранить куки после очистки кэша
<?php
if(! isset($_COOKIE["VisitCount"])){
setcookie("VisitCount", "1", strtotime('today 23:59'));
}
if($_COOKIE["VisitCount"] > 1){
echo "<script>alert('You can only play once a day'); location.href='http://example.com';</script>";
exit();
}
else {
setcookie("VisitCount", ($_COOKIE["VisitCount"] + 1), strtotime('today 23:59'));
}
?>
Но пользователь может очистить кэш и снова введите эту страницу. Как я могу изменить его, чтобы пользователи блокировались до конца дня?
EDIT:
Я добавил колонку «время» на моем столе, я полагаю, я должен использовать оператор If, чтобы проверить, если в последний раз в течение последних 24 часов, но я не знаю, как сделать это.
Кроме того, доступ ограничен один раз в день, но не точно каждые 24 часа с момента его сброса в полночь, для этого требуется другой код? или тот, который я представил выше, может работать (слегка изменен)?
Я бы постарался с чем-то стойким, как с хранилищем db. – Masiorama
Итак, зарегистрируйте пользователя в базе данных или аналогично, что их последним доступом была дата x. Если текущая дата не равна x, разрешите доступ. –
Вы не можете сохранять такие файлы cookie. Если бы вы могли, это бы побеждало цель очистить кеш. Ваша единственная ставка заключается в том, чтобы требовать логин и лимит один раз за вход. Но ничто не остановило бы у кого-то от нескольких логинов, если бы они не были похожими на учет за регистрацию. –