Habe ein Problem mit meinem Login Script.
Es würde eigentlich super Funktionieren, ich wollte aber noch eine zusätzliche Funktion einbauen, dass das Script erkennt, ob der User bereits eingeloggt ist oder nicht.
Nun funktioniert das Script nicht mehr, wenn ich mich mit den richtigen Daten einlogge passiert nichts.
Hier einmal das ganze script:
PHP-Code:
<?php
if ($logg==out)
{
session_start();
session_unset ("logedin");
session_destroy();
?>
Erfolgreich ausgeloggt!
<?php
}
elseif ($logg==in)
{
?>
<form action="member.php" method="post">
<table width="200" border="0" cellspacing="0" cellpadding="0">
<tr>
<td class="text">Name:</td>
<td><input type="text" name="name"></td>
</tr>
<tr>
<td class="text">Password:</td>
<td><input type="password" name="pass"></td>
</tr>
<tr>
<td colspan="2" align="center">
<input type="submit" name="login" value="Login">
</td>
</tr>
</table>
</form>
<?php
session_start();
$trennzeichen = '|';
if($login)
{
$name = $_POST['name'];
$pass = $_POST['pass'];
$pass = md5($pass);
if(file_exists("datenbank/".$name.".txt"))
{
$file = file("datenbank/".$name.".txt");
$true = TRUE;
}
else
{
echo 'Benutzername nicht gefunden';
$true = FALSE;
}
if($true)
{
$arr = explode($trennzeichen, $file['0']);
$a_name = $arr['0'];
$a_pass = $arr['1'];
if($a_name == $name && $a_pass == $pass)
{
$logedin = TRUE;
session_register("logedin");
echo "Login erfolgreich!
Bitte klicken Sie <a href=\"member.php\">hier</a> um zur Startseite zu gelangen.";
}
else
{
echo "Die Daten waren falsch.";
}
}
}
}
if(session_is_registered("logedin") && $_SESSION['logedin'])
{
?>
Sie sind eingeloggt
[url="member.php?logg=out"]Ausloggen[/url]
<?php
}
else
{
?>
Sie sind ausgeloggt
[url="member.php?logg=in"]Einloggen[/url]
<?php
}
?>
Habe schon versucht, die if(session_is_registered("logedin") schleife am anfang der Datei unterzubringen, aber da komme ich auch nicht auf das gewünschte Ergebnis.
Kann mir da mal jemand helfen, vieleicht habe ich ja irgend etwas vergessen, was die funktion des scriptes beeinflusst, aber zu keiner fehlermeldung führt, weil die bekomme ich ja nicht.
Vielen dank schon im Voraus.