Cookie abgelaufen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Cookie abgelaufen

    Hi,
    wie kann ich feststellen ob mein Cookie abgelaufen ist?
    Ich möchte, dass wenn ein User über 6 min inaktiv war, auf meiner Homepage, dass er sozusagen herausgekickt wird. Bitte nichts über den Sinn sagen ist eher ne Übung mit, um den Umgang mit Cookies zu lernen.
    so erstelle ich meinen Cookie:
    PHP-Code:
        function cookieerstellen($randomkey){
         
            
    $zeit time() + 3600;
            
    $cookiehandle setcookie("user",$randomkey,$zeit);

        } 
    So in etwa soll dann meine Überprüfung aussehen:
    PHP-Code:
        function cookieueberpruefen($randomkey){
         
            if ( 
    Cookie NICHT ausgelafuen){
            
            
    $zeit time() + 3600;
            
    $cookiehandle setcookie("user",$randomkey,$zeit);
            
            }else{
            
            
    lösche Cookie
            $smarty
    ->display("login.tpl");
            die();
            
            } 

  • #2
    du gibts ihm noch ein cookie wo ein timestamp drinsteht und mit dem kannst du dann rechnen

    Zuletzt geändert von hall; 11.08.2006, 15:38.
    mfg

    Kommentar


    • #3
      Re: Cookie abgelaufen

      Original geschrieben von Daether
      if ( Cookie NICHT ausgelafuen){

      [/PHP]
      anstatt deinem

      if ( Cookie NICHT ausgelafuen){


      prüfst Du einfach

      if (kein Cookie vorhanden)

      Das ist ja der Sinn der Verfallszeit (expires: )

      Die Verfallszeit darf dann natürlich nicht 3600 sein, sondern die letzten null sekunden müssen weg...

      Kommentar


      • #4
        Das Cookie ist doch noch da wenn man beim Browser z.B. manuelles Löschen einstellt, nicht?

        Kommentar


        • #5
          Das hat mit manuellem Löschen doch nichts zu tun. Es ist elementar, aber funktioniert folgendermassen:

          wenn ein cookie eine Verfallzeit von, in php, time()+360 hat, kommt es bei einem Aufruf später als nach 6 Minuten nicht mehr. Wenn ein Cookie, in php, eine Verfallzeit von time()+3600 hat, kommt es bei einem Aufruf innert der nächsten Stunde wieder zurück, bei einem Aufruf später als nach einer Stunde kommt es nicht mehr.

          Wenn das Cookie zurückkommt, kommt der Name und der Wert zurück.

          [edit genau mit 6 Minuten bzw. 60 Minuten habe ich es nie probiert. Meine Probecookies haben Verfallzeiten von 10 Sekunden oder 2 Minuten oder 2 Tagen. Damit funktionierte es immer.]
          Zuletzt geändert von jhaase; 11.08.2006, 16:41.

          Kommentar


          • #6
            weiss ich ... aber weil es nicht gelöscht wird kannst du einfach die Zeit hochdrehen...

            Kommentar


            • #7
              erstmal danke für eure Hilfe. Aber wie frage ich das denn nun ab, einfach mit isset($_COOKIE) scheint das nicht zu gehen.

              PHP-Code:
              if (isset ($_COOKIE)){

                  print (
              "Cookie existiert");

              } else {
                  
                  
              $zeit time() + 10;
                  
              $cookiehandle setcookie("user","abc",$zeit);


              Kommentar


              • #8
                $_COOKIE['user'];
                mfg

                Kommentar


                • #9
                  Original geschrieben von Daether
                  erstmal danke für eure Hilfe. Aber wie frage ich das denn nun ab, einfach mit isset($_COOKIE) scheint das nicht zu gehen.

                  PHP-Code:
                  if (isset ($_COOKIE)){ 
                  schon etwas naiv[edit in Richtung (etwas) höflicher]
                  Zuletzt geändert von jhaase; 14.08.2006, 11:13.

                  Kommentar


                  • #10
                    danke nochmals, jetzt funktioniert alles.

                    Kommentar

                    Lädt...
                    X