установить cookie добавить 1 к имени cookie каждый раз, когда пользователь нажимает кнопку - PullRequest
0 голосов
/ 02 сентября 2018

Так что я сейчас делаю сайт, который включает покупки. Вместо регистрации я хочу установить cookie, а затем каждый раз, когда пользователь нажимает кнопку покупки, он добавляет 1 к имени cookie. Затем, когда имя cookie = $ _POST ['user'] + 10, я хочу повторить 'слишком много прямо сейчас' или что-то в этом духе. Я не могу заставить это работать и пробовал несколько раз. Там нет ошибки в моем HTML или где-либо еще в моем HTML. Я просто не могу заставить это работать. Вот мой код:

<?php  
$cookie_name = $_POST['user'];
setcookie($cookie_name,  time() + (86400 * 30), "/");

if(!isset($_COOKIE[$cookie_name])) {
print 'Cookie with name "' . $cookie_name . '" does not exist...';
} else {
print'Cookie with name "'. $cookie_name .'"value is:'.$_COOKIE[$cookie_name];
}
if(isset($_POST['button'])) {
setcookie($cookie_name, '+1', $cookie_value);

}

if (setcookie($cookie_name == $_POST['user'], +10)) {
echo 'to many right now';
}
?>

У меня, очевидно, есть HTML-форма с атрибутами name = 'button' и name = 'user'. Я просто хочу знать, как я могу добиться того, что, как я сказал, я пытался сделать выше. Любая помощь приветствуется, спасибо.

1 Ответ

0 голосов
/ 02 сентября 2018

Вы явно не в своей глубине и надеетесь, что каким-то образом setcookie сделает всю работу за вас, прочитав, настроив и протестировав куки. * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * Только тогда:

setcookie () определяет cookie, который будет отправлен вместе с остальными заголовками HTTP.

Требуется два основных параметра: строка, представляющая собой имя файла cookie для отправки в браузер, и строка, представляющая собой значение для отправки; все остальные аргументы необязательны и изменяются, когда и где они будут видны; просто игнорируйте их сейчас. Обратите внимание, что второй аргумент - это не уравнение и не корректировка, а просто строка текста для хранения.

Как всегда, ключ к решению вашей проблемы ; выполните каждый из этих шагов и убедитесь, что он работает, прежде чем перейти к следующему шагу:

  1. Определитесь с именем вашего куки (часть, которая не изменится, потому что именно так вы найдете ее позже).
  2. Проверьте, не был ли cookie уже установлен по предыдущему запросу.
  3. Если оно есть, поместите его значение в новую переменную.
  4. Увеличить это значение на 1
  5. Если не существует cookie, установите переменную в начальное значение, например 0 или 1
  6. Отправьте cookie в браузер с новым значением, используя setcookie
  7. Проверьте, достигло ли значение некоторого порога, и выведите сообщение.

Обратите внимание, что в приведенном выше примере только один вызов setcookie; большая часть вашей логики - это просто работа с числами и вообще не нужно знать о файлах cookie.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...