|
|
|
Loginscript mit Sessions
Hier wird nur das Grundprinzip erklärt. Falls du einen richtigen Loginscript mit Session benötigst, solltest du diese Anleitung benutzen.
Jetzt ein kleines Beispiel für Sessions, damit wir das System der Sessions besser vestehen, und zwar ein Loginsystem. Diesen Grundscript verwendet man später in sehr vielen Scipts.
Wie schon bekannt, brauchen wir als erstes folgende Zeilen
<?php
session_start();
?>
Dieser Befehl muss ganz oben auf der Seite stehen.
Folgende Codesnipsel können alle auf einer Seite stehen, aber ihr könnt auch mehrere Seiten benutzen.
1. Schritt
Als erstes überprüfen wir, ob der Besucher schon eingelogt ist, dies geht so:
<?php
$was = $_GET["was"];
if(!isset($was))
{
$was = "status";
}
if(!isset($_SESSION['username']) and $was=="status")
{
echo "Bitte erst <a href=\"?was=login\">einloggen</a>";
}
if(isset($_SESSION['username']) and $was=="status")
{
echo "Hallo ".$_SESSION['username']." <a href=\"?was=logout\">Logout</a>";
}
?>
Geschützer Bereich
Falls man eine andere Seite schützen möchte, muss man folgenden Code ganz oben in die Seite einfügen:
<?php
session_start();
if(!isset($_SESSION['username']))
{
echo "Bitte erst <a href=\"?was=login\">einloggen</a>";
exit;
}
?>
Hier ist der geschütze Bereich
Falls der Besucher nicht eingelogt ist, wird der PHP Scipt mit exit; unterbrochen. Wenn er allerdings schon eingelogt ist, wird der geschütze Bereich angezeigt.
Damit alle Codesnipsel auf einer Seite stehen können, müssen wir eine Get-Abfrage machen.
Danach überprüfen wir, ob die Session username schon registiert wurde.
Danach brauchen wir ein Loginformular, ca. so:
<?php
if($was=="login")
{
echo "
<form action=\"?was=username\" Method=\"post\">
Passwort:<br>
<input type=\text\" name=\"username\" size=\"25\"><br>
<input type=\"submit\" value=\"Absenden\">
</form> ";
}
?>
Dies ist ein einfaches Formular, wo man einfach nur ein Benutzername eingeben muss.
Als nächstes überprüfen wir den Benutzername und registieren dann die Session username
<?php
$username = $_POST["username"];
if($was == "username")
{
$_SESSION['username'] = $username;
echo "Login erfolgreich <a href=\"?was=status\">weiter</a>";
}
?>
Zum Abschluss machen wir noch eine Logout Seite
<?php
if($was=="logout")
{
session_destroy();
echo "Logout erfolgreich <a href=\"?was=status\">weiter</a>";
}
?>
Hier nochmal die ganze Seite:
<?php
session_start();
$was = $_GET["was"];
if(!isset($was))
{
$was = "status";
}
if(!isset($_SESSION['username']) and $was=="status")
{
echo "Bitte erst <a href=\"?was=login\">einloggen</a>";
}
if(isset($_SESSION['username']) and $was=="status")
{
echo "Hallo ".$_SESSION['username']." <a href=\"?was=logout\">Logout</a>";
}
if($was=="login")
{
echo "
<form action=\"?was=username\" Method=\"post\">
Passwort:<br>
<input type=\text\" name=\"username\" size=\"25\"><br>
<input type=\"submit\" value=\"Absenden\">
</form> ";
}
$username = $_POST["username"];
if($was == "username")
{
$_SESSION['username'] = $username;
echo "Login erfolgreich <a href=\"?was=status\">weiter</a>";
}
if($was=="logout")
{
session_destroy();
echo "Logout erfolgreich <a href=\"?was=status\">weiter</a>";
}
?>
Dies ist nur das Grundprinzip. Wie man das jetzt mit dem Loginscript per Textdateien verbindet, erfährst du hier:
Login mit Sessions und Textdateien
Autor Andavos
|
|
|
|