Ich bin gerade dabei für einen Bekannten die Homepage zu überarbeiten.
Dabei versuche ich mich das erstmal an
Sessions.
Puh, gar nicht so einfach.
Die Struktur meiner Seite ist eine Index.php welche per include die übrigen Daten läd und Menüpunkte per Adresszeile weiter gibt (hoffe ihr versteht wie ich das meine)
Das aber nur als Nebeninfo :D
Als erstes wird auf meinen Seiten die Session per
session_start(); gestartet
Session ID habe ich auch spaßeshalber nachträglich mal ausgegeben und das klappt soweit.
Nun, ich habe eine Datenbank in denen die User gespeichert werden.
Die Anmeldung erfolgt über ein Login Formular, welches folgenden Quelltext enthält:
HTML-Code:
<strong>LOGIN</strong><br />
<form action="<? echo $PHP_SELF; ?>" method="post">
<input type="hidden" value="1" name="logsend" />
Name<br />
<input type="text" name="user" style="width:100px;" />
<br />
Passwort<br />
<input type="password" name="pass" style="width:100px;"/>
<br />
<input type="checkbox" name="cookie" value="yes"><font style="font-size:0.8em;"> angemeldet bleiben</font><br>
<br />
<br />
<input type="submit" name="Submit" value="Einloggen" />
</form>
Des Weiteren besteht auf der Seite folgender PHP Code:
PHP-Code:
<? if ($_POST[logsend]=="2")
{
require ( 'main/logout.php' );
} elseif ($_POST[logsend]=="1") {
require ( 'main/login.php' );
} else {
require ( 'main/login_form.php' );
} ?>
Denke das ist soweit erklärend, oder?
Meine Login.php beinhaltet:
PHP-Code:
<?
$sql="SELECT user, userid, passwort FROM tippliga_user WHERE user = '$_POST[user]'";
$ergebnis = mysql_query($sql);
echo mysql_error();
$num_rows = mysql_num_rows($ergebnis);
if($num_rows!="1") {
echo '<font style="color:red;font-weight:bold;font-size:0.8em">Name oder Passwort <br />waren falsch falsch</font><br />';
require ( 'main/login_form.php' );
} else {
while ($row = mysql_fetch_array($ergebnis))
echo 'Willkommen '.$row["user"];
//Button zum ausloggen ?>
<form action="<? echo $PHP_SELF; ?>" method="post">
<input type="hidden" value="2" name="logsend" />
<input type="submit" name="Submit" value="Ausloggen" />
</form> <?
}
?>
die logout.php vollzieht lediglich ein
session_destroy();
Ich habe nun ein paar Fragen:
1) Wie bekomme ich den User in die Session? bzw, wie bleibt er dort drin?
Der Code
$_SESSION["name"] = $row["user"]; hat da leider nicht funktioniert.
Tipps reichen mir, möchte keine Lösung, sondern versuchen den Weg selbst zu finden. :D
2) Wie kann ich meinen Code verbessern. Sprich die Userabfrage verfeinern, den Code vielleicht kürzen und und und
Noch eine Anmerkung:
Ich habe die Passwort Abfrage noch nicht integriert, diese soll über MD5 erfolgen. Ich möchte aber erstmal soweit sein, dass das Grundprinzip steht :D