|
|
|
Loginscript mit Sessions und Dateien
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):
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
28:
29:
30:
31:
32:
33:
34:
35:
36:
37:
38:
39:
40:
41:
42:
43:
44:
45:
46:
47:
| <?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 <br> <a href=\"eintragen.html\">zurück</a>";
}
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<br><a href=\"login.html\">zum Login</a>";
}
}
else
{
echo "Die Passwörter sind nicht identisch<br> <a href=\"eintragen.html\">zurück</a> ";
}
?> |
|
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:
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
25:
26:
27:
| <?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. <a href=\"geheim.php\">Geschützer Bereich</a>";
$log = 1;
}
}
fclose($userdatei);
if ($log==0)
{
echo "Zugriff verweigert <a href=\"login.html\">Zurück</a>";
}
?> |
|
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 <a href=\"login.html\">einloggen</a>";
exit;
}
?>
<html>
Herzlich Willkommen im geschützen Bereich
</html>
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
Download:
Server 1
Server 2
Autor Andavos
|
|
|
|