@Para_Lapok

Как работать с cookie с помощью php?

Добрый день.
У меня на сайте есть кнопка, которая вызывает появление рулетки. В появляющемся блоке с рулеткой есть кнопка input type="submit", которая отправляет данные через ajax и обрабатывается в файле send.php.
Проблема в следующем: мне нужно, чтобы после нажатия на эту кнопку, что крутит рулетку и отправляет данные, исчезала кнопка, которая вызывает рулетку на 30 дней. Я решила сделать так: в файле send.php я создаю cookie:
$cookie_date = date('d.m.Y');
setcookie("cookie_wheel", $cookie_date, time() + 9331200000);

Со сроком жизни в 30 дней. В файле, где прописан код кнопки я поставила условие:
<? if(!isset($_COOKIE['cookie_wheel'])){ ?>
<div style="height: 50px;" class="for_hidden"></div>
<div class="main for_hidden">
	<div class="first">
		<span>
			<img src="..." width="30">
		</span>
	</div>
	<div class="second">
		<span><b>Испытай свою удачу - получи подарок</b></span>
	</div>
	<div class="third">
		<span>
			<svg>...</svg>
		</span>
	</div>
</div>
<? }
else { } ?>

Появление колеса генерирует jQuery, но, думаю, сейчас это тут ни к чему, с этим проблем нет. И вот я отслеживаю cookie в консоли:
Захожу на сайт - cookie нет. Обновляю страницу - cookie нет. Кручу рулетку, обновляю страницу - cookie есть. Но не смотря на то, что есть cookie, кнопка для вызова рулетки всё равно появляется...
Я с cookie не работала ни разу, только сейчас начала и, может, чего-то не совсем понимаю, отсюда и трудности. Подскажите, пожалуйста, как это можно решить?

P.S.: я информировала заказчика о том, что если пользователь сам почистить cookie в истории браузера, рулетка снова появится. Получила в ответ, что это не проблема.

P.S.S.: isset в условии пробовала заменять на empty - не помогло.
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@Para_Lapok Автор вопроса
В общем, решила проблему с помощью js.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Привет.
У тебя походу ошибка в коде.
Функция setcookie() не принимает значение date('d.m.Y')
Второй параметр у setcookie() - время жизни куки - функция time(), а не date()
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы