2016-07-30 8 views
-1

Ich bin mit Javascript erstellt werden meine Cookies auszulösen, und ich habe gesagt, dass the most reliable method to set cookies is to create them on the server side mit PHP ...Wie ein PHP-Cookie-Setup Onclick-Ereignis

ich diesen Code bereits getestet, aber es schafft die Cookie auf Seite zu laden und ich brauche es nur gesetzt werden, wenn der Benutzer auf einen Link klickt:

<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> 

Ist es möglich, den Cookie auf pHP zu bauen und ihn nur Onclick Ereignis erstellen?

zB: < href="#" onclick="call_the_php_function_where_we_setup_the_cookie_variables();">click here to create the cookie</a>

Antwort

0

PHP wird auf dem Server ausgeführt, bevor die Seite jemals von dem Client-Browser zu sehen ist. Es gibt keine Möglichkeit, PHP-Code zum Laufen zu bringen, nachdem die Seite an den Client gesendet wurde.

Die einzige Lösung wird sein, AJAX im Hintergrund zu verwenden, wenn die Schaltfläche geklickt wird, um eine PHP-Seite zu laden, die das tut, was Sie wollen.

Zum Beispiel könnten Sie Ihre Seite laufen in etwa so eingerichtet, wenn die Schaltfläche geklickt wird:

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();