Login mit Sessions

tittli

Erfahrenes Mitglied
Hallo

Ich hab mir mal so einen einfachen Login gebastelt, aber irgendwie funktioniert das mit den Sessions nicht.


login.php:
PHP:
<?php
 include ("dbconnect.php");
 $aufruf = "SELECT id FROM passwort WHERE login='$login' AND passwort=PASSWORD('$passwort')";
 $aufrufen = mysql_query ($aufruf);
 $rows = mysql_num_rows ($aufrufen);
 if ($rows > 0)
 	{
 	echo "Sie wurden erfolgreich angemeldet.";
        echo "<br>";
 	echo "<a href=\"home.html\">Weiter.</a>"; 
 	}
 else
 	{                 
 	echo "Ihr Benutzername oder Passwort stimmt nicht. Bitte versuchen Sie es nocheinmal!";
 	echo "<br>"; 
 	echo "<a href=\"login.html\">Hier</a> gehts zur&uuml;ck.";   
 	}
?>

Die login.php übernimmt die Daten aus dem Formular und wertet sie aus. Login.html beinhaltet das Formular, home.html sollte durch das ganze geschützt werden. Wie baue ich jetzt da die Sessions ein, so dass die home.html geschützt wird? Das ganze geschieht doch durch die Sessions, oder habe ich da etwas falsch verstanden?!

Danke bereits im Voraus für die Hilfe.

gruss
 
vielleicht hilft dir das Tutorial weiter.

wenn der benutzer erfolgreich identifiziert ist musst du eine session starten (am besten ganz oben auf deiner login.php schon starten)
und dann nen paar infos darin speichern vielleicht den nickname und die user_id oder so was - was du eben hast.

auf der seite home.php machst du dann ne überprüfung ob die variablen in der session sind, und wenn nicht -> fehlermeldung login registieren etc.

mfg tezcatlipoca
 
Wie tezcatlipoca bereits angedeutet hat, kannst du mit Sessions auch nur PHP-Seiten schützen! Also muss die Seite home.htm in .php umbenannt werden. Dort kannst du dann per PHP (siehe Tutorial) die Session des aktuellen Users überprüfen.
 
danke für die schnellen Antworten

Also d.h. alle Dateien, die geschützt werden sollen, müssen php-Dateien sein? .html Ade? naja...mal gucken ob ich das hinkriege.

gruss

p.s.: noch eine Frage: im Tutorial, warum werden da soviele Sessionvariabeln erstellt? In der checkuser.php wird ja nur die user_id überprüft?!
 
Zuletzt bearbeitet:
p.s.: noch eine Frage: im Tutorial, warum werden da soviele Sessionvariabeln erstellt? In der checkuser.php wird ja nur die user_id überprüft?
Naja zur Überprüfung ist wirklich nur eine Variable nötig (hier die user_id). Aber Sessions sind ja nicht nur dafür gedacht, Bereiche schützen, sondern auch Daten über mehrere Seiten hinweg erhalten zu können. So könntest du mit den Variablen, in denen der Name des Users gespeichert wird, diesen auf jeder Seite im internen Bereich persönlich begrüßen o.Ä. Es liegt also einzig und allein am individuellen Verwendungszweck.
 
aha ok...ich denke ich hab den Sinn der Sessions nun verstanden:) danke für die schnellen Antworten...werde das ganze jetzt erst mal ausprobieren.

gruss
 
nur noch schnell eine Frage.

Was macht die Funktion (ist es überhaupt eine Funktion) header()?

danke

gruss
 
Nein, die Nachschlagewerke haben mir nicht gefehlt...also d.h. ich hab ein Buch, aber darin hab ich nichts wirklich gutes über header() gefunden. Die Seite die du angegeben hast kannte ich nicht. Also danke

gruss
 
Zurück