EHamann Geschrieben 18. Mai 2012 Teilen Geschrieben 18. Mai 2012 Hi, ich bin gerade dabei eine von uns intern geschriebene Website von PHP Sessions auf Cookies umzustellen. Ich überprüfe auf jeder Seite ob das Cookie gesetzt ist. Im selben Schritt möchte ich das Cookie praktisch refreshen. Sprich die Gültigkeit erneuern. Jetzt zu meinem Problem: Im Internet habe ich gelesen, dass man ein Cookie wenn überhaupt nur überschreiben kann. Soweit so gut. Wenn ich das Cookie überschreiben will erstellt er ein neues Cookie, ich denke das liegt an der Ordnerstruktur da das Cookie pro Ordner neu erstellt wird. Ich will jedoch nur ein Cookie setzen. Hier mal mein Code, vielleicht fehlt ja noch was beim setzen des Cookies. function set_cookie($cookie_inhalt) { setcookie("mycookie", $cookie_inhalt, time()+3600, "/"); } function unset_cookie() { setcookie("mycookie", $cookie_inhalt, time()-3600, "/"); } function check_cookie() { if(isset($_COOKIE["mycookie"])) { refresh_cookie(); return true; } else { return false; } } function refresh_cookie() { $cookie = explode("|",$_COOKIE["mycookie"]); $cookie_inhalt = join( "|", $cookie ); unset_cookie(); set_cookie($cookie_inhalt); } Danke fürs lesen! Gruß Edward Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chooter696 Geschrieben 18. Mai 2012 Teilen Geschrieben 18. Mai 2012 erstmal das geht alles viel einfacher. Deine unset Methode brauchst du nicht wenn du sowieso einen neuen setzt. setcookie("mycookie", $cookie_inhalt, time()+3600, "/"); Was daran funktioniert jetzt nicht? Zum Thema löschen eines Cookies. setcookie("mycookie", $cookie_inhalt, time()-3600, "/"); also man kann es auch übertreiben time() gibt dir die aktuelle Zeit aus und du setzt die gütligkeit auf einen Tag zurück. Es reicht auch time()-1 desweiteren stellt sich mir die Frage wozu du folgenden Code ausführst? $cookie = explode("|",$_COOKIE["mycookie"]); $cookie_inhalt = join( "|", $cookie );[/PHP] welchen Sinn hat es deinen Cookie in ein Array zu verwandeln wenn du ihn sofort wieder in einem String verwandelst? [PHP] function set_cookie($cookie_inhalt) { setcookie("mycookie", $cookie_inhalt, time()+3600, "/"); } function check_cookie() { isset($_COOKIE["mycookie"]) ? set_cookie($_COOKIE["mycookie"]); return true; : return false; } Das wäre dann schon alles was du brauchst Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
EHamann Geschrieben 18. Mai 2012 Autor Teilen Geschrieben 18. Mai 2012 Hey, erst mal danke für die schnelle Antwort! Nachdem ich eben ein paar mal die Seite aktualisiert hatte, hat's geklappt Weiß nicht woran es lag. Klappt jetzt auf jeden fall. Zu deinen anderen Tips: Die werde ich auf jeden fall versuchen mit umzusetzen Damit wäre das Thema jetzt denke ich mal Closed. Danke!:bimei Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
chooter696 Geschrieben 18. Mai 2012 Teilen Geschrieben 18. Mai 2012 Nachdem ich eben ein paar mal die Seite aktualisiert hatte, hat's geklappt das liegt daran das Dein Cache die Seite noch geladen hat. Es gibt Adons für Browser wo du diesen auschalten kannst. FF zb. Firebug sehr gut zur entwicklung Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.