Session & Cookie + Autologin

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

  • Session & Cookie + Autologin

    Hallo…

    Ich habe folgendes Problem. Also ich habe mir ein Portal gebastelt. Dieses betreibe ich mit einem Session Login System dieses Funktioniert auch wunderbar. Nun wollte ich eine Auto Login Funktion einbauen bekomme es aber nicht hin.

    Erst mal die erste frage: Muss in jede Seite dann session_start(); auch wenn sie von einer index.php Datei aufgerufen wird wo im Header schon session_start(); steht… Also eine Dynamische Webseite ist gemeint.

    Nun zu meinem Cookie Problem. Ich Nutze folgend Code um die Session zu starten, Username & Passwort werden über Formular übergeben.


    // -------------------------------------------------------------------------------\\

    if(isset($login)){

    include('mysql-conf/mysql-conn.inc');
    $s_result = mysql_query("SELECT * FROM s_members WHERE s_userName = '$s_user' AND s_userPass = '$s_pass'");
    $s_userDaten = mysql_num_rows($s_result);

    if ($s_userDaten == 0) {
    echo "<table width='100%' border='0' cellspacing='0' cellpadding='0'>".
    "<tr>".
    "<td>".
    "<div align='center'><b><font color='#FFFFFF'>--------------------------------------------------------------------------------------------------------------<br>".
    "<center><b>User in der Datenbank nicht vorhanden...</b></center>".
    "--------------------------------------------------------------------------------------------------------------</font></b></div>".
    "</td>".
    "</tr>".
    "</table>";
    echo "<meta http-equiv='refresh' content='1;URL=login.php?cat=1'>";
    }else{
    $s_data = mysql_fetch_array($s_result);

    @session_start($sessionid);
    $s_userId = $s_data[id];
    $s_userName = $s_data[s_userName];
    $s_userPass = $s_data[s_userPass];
    $s_userEmail = $s_data[s_userEmail];
    $s_userDate = $s_data[s_userLastlogin];
    $s_userDate = date("d.m.Y",$s_userDate);


    session_register(s_userId);
    session_register(s_userName);
    session_register(s_userPass);
    session_register(s_userEmail);
    session_register(s_userDate);


    include('tamplates/webseiten-area/welcome.inc');
    echo "<meta http-equiv='refresh' content='1;URL=index-main.php'>";
    }
    mysql_close($conn);
    }

    // -------------------------------------------------------------------------------\\


    Wie gesagt das eigentlich Login geht wunderbar. Nun brauche ich einen der mir helfen kann ! Wo muss ich nun die Cookie erstellungs- Funktion eintragen. Und was muss ich machen damit der User auf der Webseite direkt wieder eingeloggt ist wenn der Cookie gesetzt wurde. Also session_start(); sonst noch irgendwas ?

    Ein kleines Beispiel wäre ich super froh drüber..:
    Danke… Ihr könnt mich auch per ICQ Ansprechen…. ICQ: 40105864

    Thanx @ll…

  • #2
    Also, als erstes:

    session_start(); mußt du nur auf Seiten aufrufen, wo es noch nicht gestartet worden ist, mehrfach bringt nichts, und wenn du es vergisst, bekommt der User eine neue Session zugewiesen (aber nur, wenn die SessionID nicht mit in die neue Seite mit übergeben worden ist...)

    zu deinem Problem mit dem Autologin:
    Bevor du die Nutzerdaten abfragst, prüfst du, ob ein Cookie mit Userdaten von dir gesetzt worden ist und du die Daten auslesen kannst, danach wird der Nutzer normal geprüft (wie beim Login). Ist die Prüfung erfolgreich, loggst du ihn mit seinen Daten ganz normal wie gehabt ein und schreibst du daten in die Session.

    gruss

    Kommentar

    Lädt...
    X