====== PHP-Schulprojekt: Login mit MySQL, PHP und Sessions ======
===== Datenbank =====
Benutzer Tabelle anlegen
CREATE TABLE benutzer
(
BenutzerID BIGINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
BenutzerElternteil INT(1) NOT NULL DEFAULT '0',
BenutzerNick VARCHAR(50) NOT NULL,
BenutzerPunkte INT NOT NULL DEFAULT '0',
BenutzerNName VARCHAR(50) NOT NULL,
BenutzerVName VARCHAR(50) NOT NULL,
BenutzerPasswort VARCHAR(33) NOT NULL
);
Aufgaben/Strafen Tabelle anlegen
CREATE TABLE aufgaben_strafen
(
aufgaben VARCHAR(100) NOT NULL,
strafen VARCHAR(100) NOT NULL,
wert INT(13) NOT NULL
);
Aufgaben und Strafen anlegen
INSERT INTO `aufgaben_strafen`(`Name`, `Wert`, `IstAufgabe`)
VALUES ('Nicht aufgeräumtes Zimmer',-4,0),
('Patzige Anworten',-1,0),
('Herumliegende Sachen',-2,0),
('Papierkorb rausbringen', 1, 1),
('Spülmaschine ausräumen', 1, 1),
('Babysitting', 12, 1);
Benutzer anlegen
INSERT INTO benutzer SET BenutzerElternteil='1', BenutzerNick='admin', BenutzerVName='Matteo', BenutzerNName='Grunwald', BenutzerPasswort=MD5('test');
"Test-Kind" anlegen
INSERT INTO benutzer SET BenutzerNick='kind1', BenutzerVName='Lisa', BenutzerNName='Burger', BenutzerPasswort=MD5('schokolade');
';
echo '
';
echo 'Zurück zum Login';
exit();
}
//wenn sie ausgefüllt wurden
else
{
//eine SQL-abfrage vorbereiten und sie abschicken
$sql = "SELECT BenutzerID,
BenutzerElternteil,
BenutzerNick,
BenutzerPunkte,
BenutzerVName,
BenutzerNName
FROM benutzer
WHERE BenutzerNick = '".mysql_real_escape_string($_POST['benutzernick'])."'
AND BenutzerPasswort = '".md5($_POST['benutzerpasswort'])."'
";
$result = mysql_query($sql) or die(mysql_error());
//prüfung, ob genau eine der spalten mit der eingabe überein stimmt
if(mysql_num_rows($result) != 1)
{
//wenn nicht übereinstimmt
echo 'Benutzername oder Passwort sind falsch.';
echo '
';
echo '
';
echo 'Zurück zum Login';
exit();
}
//wenn übereinstimmt
else
{
$data = mysql_fetch_array ($result);
//eine session "logged" auf TRUE setzen
//eine session mit dem usernamen erstellen
$_SESSION['logged'] = TRUE;
$_SESSION['benutzerid'] = $data['BenutzerID'];
$_SESSION['benutzerelternteil'] = $data['BenutzerElternteil'];
$_SESSION['benutzernick'] = $data['BenutzerNick'];
$_SESSION['benutzerpunkte'] = $data['BenutzerPunkte'];
$_SESSION['benutzervname'] = $data['BenutzerVName'];
$_SESSION['benutzernname'] = $data['BenutzerNName'];
//auf die geschützte datei weiterleiten
header('location: index.php?section=start');
exit();
}
}
?>