Problem mit Tut Login mit Hilfe von PHP und mySQL

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

  • Problem mit Tut Login mit Hilfe von PHP und mySQL

    Hallo zusammen.

    Ich habe gestern das Tutorial von mrhappines gefunden das mit dem Login.

    Soweit klappt das script ja wunderbar einloggen ausloggen geht ohne probleme.

    Jetzt möchte ich das so haben, das wenn man sich nicht ausloggt und die seite irgendwan wieder besucht, das man sich nicht neu einloggen muss.

    Ein Cookie habe ich beim Login schon gesetzt und beim Ausloggen lasse ich das Cookie verfallen soweit kein problem.

    Die Frage ist jetzt wie realisiere ich ein Einmaliges Login per cookie, so das nicht immer wieder die funktion Login aufgerufen wird falls ein cookie existiert.

    Das ganze sieht so aus.

    Ich habe eine index.php datei dort werden diverse sachen ausgeführt.
    Nach den Includes ganz oben kommt direkt eine Funktion von mir die dann das Cookie abfragt, falls eines vorhanden ist und loggt sich dann ein.

    in etwa so
    PHP-Code:
    include("lib/lib_mysql.php");
    include(
    "lib/lib_api.php"); // Hier sind die Funktionen von mrHappiness mit drin
    auth_user(); // meine funktion auf cookie abfrage
    .
    .

    Bin noch nicht ganz so fit in Php und währe sehr dankbar wenn mir jemand
    bei diesen kleinen Problem weiterhelfen Koennte.

    PS. Die suche funktion habe ich schon benutzt, hat mir aber nicht wirklich bei meinen Problem geholfen.

    Danke schonmal im Vorraus
    Windows kann alles dank 32Bit.
    Nach 32Bit, glaube ich auch das ich alles kann..

  • #2
    Ein Cookie habe ich beim Login schon gesetzt und beim Ausloggen lasse ich das Cookie verfallen soweit kein problem.
    wenn du das cookie verfallen lässt, woran soll deine Seite den Browser identifizieren können???

    Kommentar


    • #3
      Original geschrieben von TobiaZ
      wenn du das cookie verfallen lässt, woran soll deine Seite den Browser identifizieren können???
      Das Cookie lasse ich ja nur verfallen wenn man sich ausloggt.
      Beim browser schliessen wird das Cookie ja erst in einen bestimmtem
      zeitraum verfallen.

      Meine Frage bezog sich auf das erneute besuchen ohne Logout gedrückt zu haben..

      Ich hoffe nur nicht vergessen haben das zu erwähnen
      Windows kann alles dank 32Bit.
      Nach 32Bit, glaube ich auch das ich alles kann..

      Kommentar


      • #4
        oh, hatte ich falsch verstanden.

        dann solltest du die logged_in() ein bisschen erweitern, dass die nicht nur auf die session überprüft, sondern wenn keine session vorhanden ist, auch auf das cookie.

        Kommentar


        • #5
          Original geschrieben von TobiaZ
          oh, hatte ich falsch verstanden.

          dann solltest du die logged_in() ein bisschen erweitern, dass die nicht nur auf die session überprüft, sondern wenn keine session vorhanden ist, auch auf das cookie.
          Es scheint zu klappen danke nochmal für den gedankenanstoss

          Falls es jemanden interessieren sollte, hier die routine die ich gebastelt habe. Vieleicht hat ja jemand eine meinung dazu ob gut oder schlecht gelöst.

          PHP-Code:
          function logged_in()
          {
              global 
          $db_prefix,$cookie,$config,$ucache,$site_body;
              
          $sql="SELECT User_Id
              FROM "
          .$db_prefix."users
              WHERE user_session='"
          .session_id()."'
              LIMIT 1"
          ;
              
          session_start(); // Muss noch rausfinden ob das hier notwendig ist
              
          $resultmysql_query($sql);
               if(
          mysql_num_rows($result)==1)
                {
                  return 
          true;   // in der Session noch eingeloggt
                
          }
               else    
          // Wenn nicht Cookie abfragen
                
          {
                   if(isset(
          $_COOKIE[$config[cookie_name]])) // Cookie vorhanden ??
                    
          {  // ja also Cookie auslesen
                       
          $cookie=explode('|',$_COOKIE[$config[cookie_name]]);
                       if(
          ask_user_cookie($cookie[0],$cookie[1])) // Ist User noch im System Registriert ??
                        
          {
                          
          login(); // Ja isser also ein Login machen
                          
          $site_body="Willkommen Zurück ".$ucache[user_name];
                          return 
          true;
                        }
                    }
                    return 
          false// Keines Von beiden also ist User nicht eingeloggt...
                
          }

          Die Funktion ask_user_cookie ist nur eine abgewandelte version von Check_user, weil hier ein md5 passwort mit abgefragt wird.

          Jetzt bin ich mal auf euere meinungen gespannt...
          Windows kann alles dank 32Bit.
          Nach 32Bit, glaube ich auch das ich alles kann..

          Kommentar

          Lädt...
          X