Hallo,
einfach gesagt: mittels Klicken eines Links soll ein Cookie gesetzt werden, wenn es nicht schon vorhanden ist, mit dem Namen und Inhalt der mit dem Link übergeben wird.
Problem: Wenn noch kein Cookie vorhanden ist klappt es. Wenn eines vorhanden ist und die Parameter im Link (name, inhalt) geändert werden, dann setzt er zwar das Cookie, aber die anschließende Kontrolle nach dem Aktualisieren der Seite schlägt fehl ("Cookie nicht gesetzt" wird ausgegeben).
Zum testen einfach erstmal ausführen und anschließen aktualisieren, dann Link z.B. in <a href="#" onClick="setzeCookie('testcookie2','blabla');">test</a> ändern und wieder aktualisieren.
Quelltext:
einfach gesagt: mittels Klicken eines Links soll ein Cookie gesetzt werden, wenn es nicht schon vorhanden ist, mit dem Namen und Inhalt der mit dem Link übergeben wird.
Problem: Wenn noch kein Cookie vorhanden ist klappt es. Wenn eines vorhanden ist und die Parameter im Link (name, inhalt) geändert werden, dann setzt er zwar das Cookie, aber die anschließende Kontrolle nach dem Aktualisieren der Seite schlägt fehl ("Cookie nicht gesetzt" wird ausgegeben).
Zum testen einfach erstmal ausführen und anschließen aktualisieren, dann Link z.B. in <a href="#" onClick="setzeCookie('testcookie2','blabla');">test</a> ändern und wieder aktualisieren.
Quelltext:
PHP-Code:
<html>
<head>
<script language="javascript" type="text/javascript">
function pruefeCookie(name) {
alleCookies=document.cookie;
// Alle Cookies mittels Separator ";" in Array-Feld legen
cookieArr=alleCookies.split(";");
// für jedes Feld...
for (var i=0;i<cookieArr.length;i++) {
// ... überprüfen, ob vor dem "=" der name mit dem übergebenen Namen überein stimmt
// wenn ja, dann true zurückgeben und Textausgabe
if (cookieArr[i].split("=")[0] == name) {
document.write("Cookie vorhanden");
return true;
}
}
// wenn nein, dann false zurückgeben
return false;
}
function setzeCookie (name, inhalt) {
if (pruefeCookie(name) == false) {
// wenn false zurück gegeben wurde, dann Cookie setzen
document.write("Cookie NICHT vorhanden");
var jetzt = new Date();
var datum = new Date(jetzt.getTime() + 1000*60*60*24*365);
document.cookie = name + "=" + inhalt + "; expires=" + datum.toGMTString() + "; path=/";
}
}
</script>
</head>
<body>
<a href="#" onClick="setzeCookie('testcookie','inhalt eben3');">test</a>
</body>
</html>
Kommentar