problem mit user-verwaltung (sessions)
-
Hallo.
ich hab nen problem und zwar.
brauche ich eine userverwaltung.
code habe ich von nem tutorial
http://www.tutorials.de/
hab ihn dann noch umgebaut.
aber örgendwie habe ich das gefühl
das da nichts mit
sessions ist.?
könnt ihr mal bitte kucken.
auf der index.php
habe ich ganz am anfang
session_start();
aufgerufen. je nach dem was in section= drinne steht
wird das auch angezeigt.
hier die enzelnen codes.
login.php<?php echo "<form action=\"index.php?section=login_do\" method=\"post\">\n"; ?> Name: <input type="text" name="name" size="20"><br> Kennwort: <input type="password" name="pwd" size="20"><br> <input type="submit" value="Login"> </form>
login_do.php
<?php $sql = "SELECT ". "Id, Nickname, Nachname, Vorname ". "FROM ". "benutzerdaten ". "WHERE ". "(Nickname like '".$_REQUEST["name"]."') AND ". "(Kennwort = '".md5 ($_REQUEST["pwd"])."')"; $result = mysql_query ($sql); if (mysql_num_rows ($result) > 0) { // Benutzerdaten in ein Array auslesen. $data = mysql_fetch_array ($result); // Sessionvariablen erstellen und registrieren $_SESSION["user_id"] = $data["Id"]; $_SESSION["user_nickname"] = $data["Nickname"]; $_SESSION["user_nachname"] = $data["Nachname"]; $_SESSION["user_vorname"] = $data["Vorname"]; echo "Hallo ".$_SESSION["user_vorname"]." schöhn das sie wieder hier sind!<br>\n"; echo "was möchten sie tun?<br><hr>\n"; echo "<a href=\"index.php?section=logout\">Ausloggen</a><br>\n"; } else { echo "Ihre angaben waren falsch\n"; echo "<a href=\"index.php?section=login\">noma</a>\n"; } ?>
logout.php
<?php session_unset (); session_destroy (); echo "Sie haben sich ausgelogt!\n"; ?>
Vielen Vielen Dank
MFG
-
Hi,
mach mal über deinen Sessionvariablen ein Sessionstart, damit die
Variablen auch regstriert werden.// Sessionvariablen erstellen und registrieren session_start(); $_SESSION["user_id"] = $data["Id"]; $_SESSION["user_nickname"] = $data["Nickname"]; $_SESSION["user_nachname"] = $data["Nachname"]; $_SESSION["user_vorname"] = $data["Vorname"];
Dann weiß ich nicht, wie dein Server eingestellt ist und ob er die Session-ID
automatisch an deine Links hängt. Falls nicht, musst du deine Links
noch wie folgt ändern, damit die Session-ID mit übergeben wird.echo "<a href=\"logout.php?".session_name()."=".session_id()."§ion=logout\">Ausloggen</a><br>\n";
Dann ist mir aufgefallen, das du den Nickname in deiner SQL Query mit LIKE
abfragst. Änder dies mal in eine Istabfrage, da Like auf mehrere User
zutreffen kann."WHERE ". "(Nickname = '".$_REQUEST["name"]."') AND ". "(Kennwort = '".md5 ($_REQUEST["pwd"])."')";
In deinem Logout-Script musst du auch session_start() einbauen, damit
der Server erstmal weiß, was er killen soll.<?php session_start(); session_unset (); session_destroy (); echo "Sie haben sich ausgelogt!\n"; ?>
-
danke.
eine frage habe ich aber noch.
wenn ich jetzt auf eine seite gehe.
dann erhalte ich ja eine SID.
wenn ich am nägsten tag wieder auf
die seite gehe
habe ich dann wieder genau die
selbe SID?
Vielen Dank
MFG
-
hallo.
es funzt
habe es nochmal neu geschrieben.
Mfg
-
FrauBolaIstDumm schrieb:
wenn ich jetzt auf eine seite gehe.
dann erhalte ich ja eine SID.
wenn ich am nägsten tag wieder auf
die seite gehe
habe ich dann wieder genau die
selbe SID?Nein! Die SID ändert sich jedes mal, wenn du den browser neu öffnest.
Liebe grüsse
P.S.: Wenn du nen billigen server suchst, meld dich mal bei mir