Hallo erstmal,
ich hab mit hilfe von ein paar Leuten ein Login un Registriersystem erstellt ohne irgendwelche Datenbanken es besteht aus 6 Teilen:
eintragen.html
PHP-Code:
<html>
<body>
<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>
</body>
</html>
eintragen.php
PHP-Code:
<?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> ";
}
?>
login.html
PHP-Code:
<html>
<body>
<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>
</body>
</html>
login.php
PHP-Code:
<?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>";
}
?>
geheim.php
PHP-Code:
<?php
session_start();
if(!isset($_SESSION['username']))
{
echo "Bitte erst <a href=\"login.html\">einloggen</a>";
exit;
}
?>
<html>
<p>meine tolle Seite</p>
</html>
und eine leere .txt Datei mit dem Namen user.txt.
Soviel dazu.
1.Ich habe leider keine Ahnung wie man ein Logout macht, was ich aber brauche.
2.Wenn man das Script nur so hochläd, ist alles prima und es funzt bestens, aber als ich eintragen.html und user.txt in ein anderes Verzeichniss gepackt habe (und natürlich alles im Skript dazu angepasst), kommt wenn ich mich registrieren will das mein Passwort nicht identisch ist (ist natürlich identisch ich habs mit dem Passwort "a" probiert).
3.Wie lege ich eine .htaccess Datei an um eintragen.html und user.txt im seperaten Verzeichniss zu schützen (einfach halt nur mit nem Passwort oder so.
Danke schonmal im vorraus.