Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Cookie Überschreiben / Gültigkeit verlängern

Empfohlene Antworten

Veröffentlicht

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

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

Hey,

erst mal danke für die schnelle Antwort!

Nachdem ich eben ein paar mal die Seite aktualisiert hatte, hat's geklappt :rolleyes:

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.