Einfaches Login-Script
in PHP · Autor: Sebastian Fuchs
Ein einfaches Login-Script ist leicht erstellt. Dieses Tutorial soll in erster Linie die Funktionsweise eines Login-Scripts vermitteln.Zunächst muss ein Formular erstellt werden, in das die Zugangsdaten eingegeben werden (dieses Formular kommt in den <body>-Bereich deiner Seite).
<html>
<head>
<title>Einfaches Login-Script</title>
</head>
<body>
<form action="login.php" method="post">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="nick" /></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login" value="Anmelden" /></td>
</tr>
</table>
</form>
</body>
</html>
Ich denke das sollte soweit klar sein: Es gibt ein Feld für den Namen (name="nick") und eines für das Passwort (name="password").<head>
<title>Einfaches Login-Script</title>
</head>
<body>
<form action="login.php" method="post">
<table>
<tr>
<td>Name:</td>
<td><input type="text" name="nick" /></td>
</tr>
<tr>
<td>Passwort:</td>
<td><input type="password" name="password" /></td>
</tr>
<tr>
<td></td>
<td><input type="submit" name="login" value="Anmelden" /></td>
</tr>
</table>
</form>
</body>
</html>
Nun müssen wir die Logindaten in der Datei "login.php" auswerten lassen. Das geschieht folgendermaßen:
<html>
<head>
<title>Admin-Bereich</title>
</head>
<body>
<?php
// Login-Vorgaben
$user = array(
'password' => '1234',
'name' => 'Benutzername'
);
if(isset($_POST['login']))
{
if(empty($_POST['password']) || empty($_POST['nick']))
{
echo 'Es wurde kein Name oder Passwort angegeben! Bitte wiederhole die Eingabe!';
}
else
{
if($_POST['password'] == $user['password'] && $_POST['nick'] == $user['name'])
{
echo 'Du hast dich erfolgreich eingeloggt!';
}
else
{
echo 'Der Login konnte nicht durchgeführt werden! Der Name oder das Passwort waren falsch!';
}
}
}
?>
</body>
</html>
Alle Elemente aus dem Formular lassen sich mit der Schreibweise $_POST['Elementname'] als Variable abrufen.<head>
<title>Admin-Bereich</title>
</head>
<body>
<?php
// Login-Vorgaben
$user = array(
'password' => '1234',
'name' => 'Benutzername'
);
if(isset($_POST['login']))
{
if(empty($_POST['password']) || empty($_POST['nick']))
{
echo 'Es wurde kein Name oder Passwort angegeben! Bitte wiederhole die Eingabe!';
}
else
{
if($_POST['password'] == $user['password'] && $_POST['nick'] == $user['name'])
{
echo 'Du hast dich erfolgreich eingeloggt!';
}
else
{
echo 'Der Login konnte nicht durchgeführt werden! Der Name oder das Passwort waren falsch!';
}
}
}
?>
</body>
</html>
Das Script wird ausgeführt, sobald $_POST['login'] gegeben ist, also der Button im Login-Script (name="login") geklickt wurde.
Danach wird zunächst mit empty() geprüft, ob die Eingabefelder ausgefüllt wurden, wenn nicht wird eine Fehlermeldung angezeigt, dass nicht alle benötigten Felder ausgefüllt wurden.
Wenn etwas eingegeben wurde, geht es dann im else-Teil weiter. Es wird abgefragt, ob der eingegebene Nick und das Passwort mit denen, die in dieser Datei vorgegeben sind, übereinstimmen. Wenn dies so ist, wird der geschützte Bereich angezeigt. Ansonsten kommt wieder eine Fehlermeldung, dass der Name bzw. das Passwort nicht korrekt war. Wichtig hierbei ist, dass Nickname und Passwort nicht separate Fehlermeldungen erzeugen, da potentielle Angreifer sonst wüssten, welche der beiden Eingaben falsch ist und so leichter beide Informationen erraten könnten.
An dieser Stelle ist das Login-Script auch schon fertig. Wichtig ist, die letzte Datei als ".php"-Datei zu speichern.
Jetzt hast du die Grundlagen, die du für ein Login-Script benötigst kennengelernt. Dieses Script eignet sich beispielsweise dazu, einzelne Seiten zu schützen. Das Prinzip für den Schutz mehrere Seiten gleichzeitig bleibt aber ähnlich, wenn gleich dann noch Sessions oder Cookies zum Einsatz kommen müssen.
· zurück zu "PHP Tutorials"






