Dies ist eine Anleitung, für eine Kombination aus dem Loginscript und dem Login mit Sessions.
Die Registierungsrotine ist die gleiche wie hier.
Das Formular (eintragen.html):
<form action="eintragen.php" method="post"> Dein Username:<br> <input type="text" size="24" maxlength="50" name="username"><br><br> Dein Passwort:<br> <input type="password" size="24" maxlength="50" name="passwort"><br> Passwort wiederholen:<br> <input type="password" size="24" maxlength="50" name="passwort2"><br> <input type="submit" value="Abschicken"> </form>
Die Speicherung des neuen Benutzernamen in user.txt (eintragen.php):
< ?php
$username = $_POST[„username“];
$password = $_POST[„passwort“];
$password2 = $_POST[„passwort2“];
if ($password == $password2)
{
$user_vorhanden = array();
$passwort = md5($password);
$userdatei = fopen („user.txt“,“r“);
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode(„|“, $zeile);
array_push ($user_vorhanden,$userdata[0]);
}
fclose($userdatei);
if (in_array($username,$user_vorhanden))
{
echo „Username schon vorhanden
zurück„;
}
else
{
$userdatei = fopen („user.txt“,“a“);
fwrite($userdatei, $username);
fwrite($userdatei, „|“);
fwrite($userdatei, $passwort);
fwrite($userdatei, „\n“);
fclose($userdatei);
echo „$username, deine Anmeldung war erfolgreich
zum Login„;
}
}
else
{
echo „Die Passwörter sind nicht identisch
zurück „;
}
?>
Das Formular zum Login (login.html) sieht auch wieder gleich aus:
<form action="login.php" method="post"> Dein Username:<br> <input type="text" size="24" maxlength="50" name="username"><br><br> Dein Passwort:<br> <input type="password" size="24" maxlength="50" name="password"><br> <input type="submit" value="Login"> </form>
Jetzt kommen aber ein paar Änderungen bei login.php:
< ?php
session_start();
$username = $_POST[„username“];
$passwort = $_POST[„password“];
$passwort = md5($passwort);
$log=0;
$userdatei = fopen („user.txt“,“r“);
while (!feof($userdatei))
{
$zeile = fgets($userdatei,500);
$userdata = explode(„|“, $zeile);
if ($userdata[0]==$username and $passwort==trim($userdata[1]))
{
$_SESSION[‚username‘] = $username;
echo „Login war erfolgreich. Geschützer Bereich“;
$log = 1;
}
}
fclose($userdatei);
if ($log==0)
{
echo „Zugriff verweigert Zurück„;
}
?>
Anstatt nur Hallo $username registieren wir hier die Session username. Außerdem bekommt geben wir noch einen Link zum geschützen Bereich (geheim.php) aus.
Und so sieht der geschütze Bereich (geheim.php) aus:
< ?php
session_start();
if(!isset($_SESSION[‚username‘]))
{
echo „Bitte erst einloggen“;
exit;
}
?>
Herzlich Willkommen im geschützen Bereich
Alle geschütze Dateien müssen so aussehen, wie die ersten paar Zeilen von geheim.php.
Falls ihr noch nicht die Version 4.1.0 benutzt, und somit der Script nicht funktioniert müsst ihr anstatt $_POST => $HTTP_POST_VARS schreiben und anstatt $_SESSION => $HTTP_SESSION_VARS.
Von php-einfach.de