Loginberreich ohne Datenbank

Hy.
Ich habe mir einen Loginberreich ohne Datenbank „gebastelt“.
Die Daten werden stattessen in einer .txt datei gespeichert.
Hier die Seiten erstmal:
regestrieren.html

[HTML]

Dein Username:

Passwort:


Passwort wiederholen:


[/HTML]regestrieren.php [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
<a href="regestrieren.html">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
<a href="login.html">zum Login“;
}
}

else
{
echo "Die Passwörter sind nicht identisch
<a href="regestrieren.html">zurück ";
}

?>
[/PHP]login.html
[HTML]

Dein Username:


Dein Passwort:


[/HTML]login.php [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. <a href="Mitgliederberreich.php">Geschützer Bereich“;
$log = 1;
}
}
fclose($userdatei);

if ($log==0)
{
echo „Zugriff verweigert <a href="login.html">Zurück“;
}
?>
[/PHP]Mitgliederberreich.php
[PHP]

<?php session_start(); if(!isset($_SESSION['username'])); { echo "Bitte erst einloggen!"; exit; }#Das hier funktioniert bei mir leider nicht könnter mir wer sagen warum? ?> Hier ist dann das ganze Layout von mir usw.....

[/PHP]
So, ich würde jetzt aber gerne noch dazumachen das man so lange regestriert bleibt bis man sich ausloggt.
Das man sich überhaupt ausloggen kann.
Das die Emailaddresse auch gespeichert wird und das der Mitgliederberreich funktioniert(so das man nur drauf kann wenn man eingeloggt ist.)
Nur ich wüsste nicht wie!
Kann mir jemand helfen?

Der Auslogg funktioniert durch das Zerstören der Session.
PHP: session_destroy - Manual

okay, aber wie geht das,das man überhaupt eingeloggt bleibt? oder ist das bei mir eh schon so?^^

Wenn bei die Anmeldung erfolgreich ist, wird in einer Session der Benutzername gespeichert.
Hier:
[php]$_SESSION[‚username‘] = $username;[/php]
Beim Zugriff auf die Mitgliederseiten, wird geprüft, ob die Session gesetzt ist. Ist dies nicht der Fall, wird der Inhalt nicht ausgegeben.
Hier:
[php]if(!isset($_SESSION[‚username‘]));[/php]
So funktioniert das „angemeldet bleiben“.

Zum abmelden sollte es reichen eine Datei mit diesem Inhalt aufzurufen:
[php]<?php
// Session beginnen/aufrufen
session_start();

// Session zerstören
session_destroy();

echo „Erfolgreich abgemeldet“;
?>[/php]

Vielen vielen dank :slight_smile:
HM…
if(!isset($_SESSION[‚username‘]));
funktioniert nicht, wird trozdem angezeigt… :confused:

Das wichtigste ist, dass Du in jeder .php - Datei session_start(); schreibst. Sonst funktioniert das nicht.

lg, freakXHTML