2016-07-12 7 views
0

hallo möchte ich auf die Schaltfläche klicken, um ein Cookie setzen, aber ich habe ein Problem mit ihm
dies ist meine erste Version von Code und es funktioniert gutSet Cookie auf Klick mit php

<?php 
 
$ID = is_numeric($_GET['ID']) ? $_GET['ID'] : 1; 
 

 
$cookie_name = "favoritepost"; 
 

 
if (isset($_COOKIE[$cookie_name])) { 
 
    $kookie = unserialize($_COOKIE[$cookie_name]); 
 
} else { 
 
    $kookie = array(); 
 
} 
 
if (! in_array($ID, $kookie)) { 
 
    $kookie[] = $ID; 
 
} 
 

 
setcookie($cookie_name, serialize($kookie), time() + (86400 * 30), "/"); // 86400 = 1 day 
 
?> 
 
<html>

dann wie ich sagte, ich wollte den Cookie als Schaltfläche klicken klicken, so dass ich diesen Code geschrieben habe, aber es ist nicht workinf und es gibt mir keine Cookie-Set, was das Problem ist. Dank

<!doctype html> 
 
<?php 
 
$ID = is_numeric($_GET['ID']) ? $_GET['ID'] : 1; 
 

 
$cookie_name = "favoritepost"; 
 

 
if (isset($_COOKIE[$cookie_name])) { 
 
    $kookie = unserialize($_COOKIE[$cookie_name]); 
 
} else { 
 
    $kookie = array(); 
 
} 
 
if (! in_array($ID, $kookie)) { 
 
    $kookie[] = $ID; 
 
} 
 
?> 
 

 
<button type="button" onclick="setcookie('<?php echo $cookie_name;?>', '<?php echo serialize($kookie);?>', time() + (86400 * 30), "/")">Click Me!</button> 
 
<html>

Antwort

0

Sie Misch JS und PHP, und es ist eine tödliche Kombination. JS ist eine clientseitige Sprache, in der PHP eine serverseitige Sprache ist.

Alles, was Sie in PHP schreiben ausgeführt Server und alles, was das Schreiben in JS ausgeführt wird Client-Seite.


Erste Lösung ist AJAX verwendenPHP zu verbinden ruft Skript mit JS. Rufen Sie die AJAX-Funktion mit einem Klick auf eine Schaltfläche auf, die PHP-Skript auf Serverseite aufruft, um den Cookie zu speichern.

Referenz: http://www.w3schools.com/PHP/php_ajax_php.asp


Eine andere Lösung ist nur Operationen auf Client-Seite durchführen zu speichern/retrive Cookie.

Referenz: http://www.w3schools.com/js/js_cookies.asp


es auf Server-Seite zu tun, ist zu bevorzugen, da es mehr Sicherheit gibt dann Client-Seite Code.

+0

danke für deine antwortung lass mich ein wenig über ajax studieren ich werde meinen code bearbeiten und dann sag mir bitte deine meinung – Malekian