Cookie abgelaufen

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • 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

    Last edited by hall; 11-08-2006, 16:38.
    mfg

    Comment


    • #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...

      Comment


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

        Comment


        • #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.]
          Last edited by jhaase; 11-08-2006, 17:41.

          Comment


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

            Comment


            • #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);


              Comment


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

                Comment


                • #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]
                  Last edited by jhaase; 14-08-2006, 12:13.

                  Comment


                  • #10
                    danke nochmals, jetzt funktioniert alles.

                    Comment

                    Working...
                    X