PHP настройка куки с кнопкой - PullRequest
1 голос
/ 04 февраля 2012
<?
function cookie()
{
setcookie('enable',yes,time() + (60 * 1)); 
}
echo('<input type="button" onclick="cookie()" value="Gimme all the cookies!" />');
?>

Я не вижу способа установить куки с помощью кнопки (ни дядя Google). Я пробовал несколько способов, подобных этому, но ни один из них не работает.

Ответы [ 2 ]

4 голосов
/ 04 февраля 2012

Хорошо, это простая ошибка, которую многие люди допускают, когда впервые пробуют веб-разработку. Иногда трудно понять, как именно JavaScript и PHP взаимодействуют. Итак, вы запускаете скрипт php на сервере, который генерирует HTML и JavaScript, которые затем отправляются в веб-браузер. После загрузки HTML и JavaScript в веб-браузер JavaScript не имеет доступа к функциям PHP.

Таким образом, вам придется либо установить данные cookie, заставив кнопку вызывать скрипт PHP на сервере, либо выполнив запрос AJAX.

Поначалу AJAX может быть немного сложным, но взгляните на реализацию JQuery по адресу: http://api.jquery.com/jQuery.ajax/.

Надеюсь, это поможет.

1 голос
/ 04 февраля 2012

Вы не можете сделать это таким образом. Это просто не сработает. Эта функция Javascript не может вызвать метод setcookie () в PHP, потому что нет способа получить к нему доступ. Javascript выполняется на стороне клиента, PHP на стороне сервера.

Есть 2 способа сделать это:

  • через AJAX. Сначала может быть немного сложнее. Желательно попробовать способ 2.
  • Сделать кнопку внутри невидимой формы. Когда пользователь нажимает его, он перенаправляется на другую страницу PHP, которая устанавливает cookie, а затем перенаправляет пользователя на исходную страницу.

Как только вы справитесь с этим, вы можете попробовать это с AJAX, это будет легче сделать и легче понять.

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