Dann will ich auch mal einen Vorschlag machen: Die Datei login.php: PHP-Code: <? if($mode == "logout") { session_destroy(); header("Location: index.php"); die(); } if($mode != "login") { ?> <form action="login.php" method="post"> <table> <tr> <td>Username</td> <td><input name="Name" type="text"></td> </tr> <tr> <td>Passwort</td> <td><input name="Passwort" type="password"></td> </tr> <tr> <td colspan="2"><input type="submit" Value="Login"></td> </tr> </table> <input name="mode" value="login" type="hidden"> </form> <? } else { if(empty($_REQUEST['Name'] || empty($_REQUEST['Passwort']) { echo "<span style=\"color: #FF0000;\">Du musst alle Felder ausfüllen.</span><br>"; die("<a href=\"login.php\">Zurück</a><br>\n"); } $verbindung = @mysql_connect($host, $user, $pwd) OR die("Konnte keine Verbindung zur Datenbank herstellen!<br>"); mysql_select_db($db); $abfrage = "SELECT COUNT(*) AS uservorhanden, `account_aktiv` AS aktiv FROM `user` WHERE `passwort` = '".md5($Passwort)."' AND `name` = '".$Name."' LIMIT 1;"; $antwort = mysql_query($abfrage); $row = mysql_fetch_array($antwort); if($row['uservorhanden'] == 1) { if($row['aktiv'] == "Y") { echo "Du musst deinen Account erst aktivieren!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } } else { echo "Dieser Benutzer existiert nicht oder du hast ein falsches Passwort eingegeben!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } session_start(); session_register(user); session_register(passwort); $username = $Name; $userpasswort = md5($Passwort); mysql_close($verbindung); header("Location: index.php"); } ?> In alle zu schützenden Dateien muss dann nur noch die Datei session.inc.php includet werden: PHP-Code: <? $user = $_SESSION['user']; $passwort = $_SESSION['passwort']; if(empty($user) || empty($passwort)) { die("Du bist nicht eingeloggt!<br>"); } $verbindung = @mysql_connect($host,$user,$pwd); mysql_select_db($db); $abfrage = "SELECT COUNT(*) AS uservorhanden, `account_aktiv` AS aktiv FROM `user` WHERE `passwort` = '".$Passwort."' AND `name` = '".$Name."' LIMIT 1;"; $antwort = mysql_query($abfrage); $row = mysql_fetch_array($antwort); if($row['uservorhanden'] == 1) { if($row['aktiv'] == "Y") { echo "Du musst deinen Account erst aktivieren!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } } else { echo "Dieser Benutzer existiert nicht oder du hast ein falsches Passwort eingegeben!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } echo "Herzlich Willkommen ".$user."!<br>\n"; ?> Manni
<? if($mode == "logout") { session_destroy(); header("Location: index.php"); die(); } if($mode != "login") { ?> <form action="login.php" method="post"> <table> <tr> <td>Username</td> <td><input name="Name" type="text"></td> </tr> <tr> <td>Passwort</td> <td><input name="Passwort" type="password"></td> </tr> <tr> <td colspan="2"><input type="submit" Value="Login"></td> </tr> </table> <input name="mode" value="login" type="hidden"> </form> <? } else { if(empty($_REQUEST['Name'] || empty($_REQUEST['Passwort']) { echo "<span style=\"color: #FF0000;\">Du musst alle Felder ausfüllen.</span><br>"; die("<a href=\"login.php\">Zurück</a><br>\n"); } $verbindung = @mysql_connect($host, $user, $pwd) OR die("Konnte keine Verbindung zur Datenbank herstellen!<br>"); mysql_select_db($db); $abfrage = "SELECT COUNT(*) AS uservorhanden, `account_aktiv` AS aktiv FROM `user` WHERE `passwort` = '".md5($Passwort)."' AND `name` = '".$Name."' LIMIT 1;"; $antwort = mysql_query($abfrage); $row = mysql_fetch_array($antwort); if($row['uservorhanden'] == 1) { if($row['aktiv'] == "Y") { echo "Du musst deinen Account erst aktivieren!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } } else { echo "Dieser Benutzer existiert nicht oder du hast ein falsches Passwort eingegeben!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } session_start(); session_register(user); session_register(passwort); $username = $Name; $userpasswort = md5($Passwort); mysql_close($verbindung); header("Location: index.php"); } ?>
<? $user = $_SESSION['user']; $passwort = $_SESSION['passwort']; if(empty($user) || empty($passwort)) { die("Du bist nicht eingeloggt!<br>"); } $verbindung = @mysql_connect($host,$user,$pwd); mysql_select_db($db); $abfrage = "SELECT COUNT(*) AS uservorhanden, `account_aktiv` AS aktiv FROM `user` WHERE `passwort` = '".$Passwort."' AND `name` = '".$Name."' LIMIT 1;"; $antwort = mysql_query($abfrage); $row = mysql_fetch_array($antwort); if($row['uservorhanden'] == 1) { if($row['aktiv'] == "Y") { echo "Du musst deinen Account erst aktivieren!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } } else { echo "Dieser Benutzer existiert nicht oder du hast ein falsches Passwort eingegeben!"; die("<a href=\"login.php\">Zurück</a><br>\n"); } echo "Herzlich Willkommen ".$user."!<br>\n"; ?>
--
Foren-Regeln