2016-07-30 1 views
-1

Я использую JavaScript, чтобы вызвать мое печенье, и я сказал, что the most reliable method to set cookies is to create them on the server side с использованием PHP ...Как настроить PHP-кук, чтобы быть созданы OnClick события

Я уже опробовал этот код, но он создает печенье на странице загрузки и мне это нужно, чтобы быть установлен только тогда, когда пользователь нажимает на ссылку:

<a href="<?php 
if (!isset($_COOKIE['my_test_cookie'])) { 
ob_start(); 
setcookie("my_test_cookie", "1", time()+ (86400 * 90), "/"); 
ob_end_flush(); 
}?>" onClick="javascript:HideContent('div3');">Create Cookie</a> 

можно ли построить печенье на PHP и создать только ему OnClick событие?

например: < href="#" onclick="call_the_php_function_where_we_setup_the_cookie_variables();">click here to create the cookie</a>

ответ

0

PHP запускается на сервере до того, как страница когда-либо видел в браузере клиента. Невозможно запустить PHP-код после отправки страницы клиенту.

Единственное решение заключается в использовании AJAX в фоновом режиме при нажатии кнопки для загрузки страницы php, которая делает то, что вы хотите.

Например, вы можете настроить страницу, чтобы запустить что-то вроде этого, когда кнопка нажата:

var req = new XMLHttpRequest(); 
req.addEventListener("load", function() { 
    console.log(this.responseText); 
}); 
req.open("GET", "http://yoursite.com/path_to_cookie_setter_page"); 
req.send();