3v4l.org

run code in 300+ PHP versions simultaneously
<?php // Session starten session_start(); // Variablen deklarieren $_SESSION['angemeldet'] = false; $benutzername = ''; $passwort = ''; $fehlermeldung = ''; // Funktion zum verbinden zur Datenbank function db_connect() { // Zugangsdaten für die DB $dbhost = 'localhost'; $dbuser = 'root'; $dbpass = ''; $dbname = 'testlogin'; // Verbindung herstellen und Verbindungskennung zurückgeben $conid = mysql_connect( $dbhost, $dbuser, $dbpass ) or die( 'Verbindungsfehler!' ); if (is_resource( $conid )) { mysql_select_db( $dbname, $conid ) or die( 'Datenbankfehler!' ); } return $conid; } // Prüfen ob ein Cookie existiert und zu einem gültigen User gehört if (isset( $_COOKIE['UserLogin'] )) { // Wert aus dem Cookie mit dem Wert in der Datenbank vergleichen $conid = db_connect(); $sql = "SELECT `id` FROM `login_fortgeschritten` WHERE `cookie_hash` = '" .mysql_real_escape_string( $_COOKIE['UserLogin'] ). "' AND `aktiviert` = 1"; $ergebnis = mysql_query( $sql, $conid ); // Stimmt der Cookie Hash überein, wurde 1 Datensatz gefunden if (mysql_num_rows($ergebnis) == 1) { // Wenn der Hash aus dem Cookie mit dem aus der DB übereinstimmt, // Session Variable setzen und auf die geheime Seite weiterleiten $_SESSION['angemeldet'] = true; header( 'location: geheim_fortgeschritten.php' ); exit; } } // Wenn das Formular abgeschickt wurde if (isset( $_POST['login'] )) { // Maskierende Slashes aus POST Array entfernen if (get_magic_quotes_gpc()) { $_POST = array_map( 'stripslashes', $_POST ); } // Benutzereingabe umladen, von Leerzeichen befreien und $benutzername = strtolower( trim( $_POST['benutzer'] ) ); $passwort = md5( trim( $_POST['passwort'] ) ); // Benutzereingabe mit User in der Datenbank vergleichen $conid = db_connect(); $sql = "SELECT `cookie_hash` FROM `login_fortgeschritten` WHERE LOWER(`benutzername`) = '" .mysql_real_escape_string( $benutzername ). "' AND `passwort` = '" .mysql_real_escape_string( $passwort ). "' AND `aktiviert` = 1"; $ergebnis = mysql_query( $sql, $conid ); // Stimmen die Benutzereingaben überein, wurde 1 Datensatz gefunden if (mysql_num_rows($ergebnis) == 1) { // Abfrageergebnis fetchen $usercookie = mysql_fetch_assoc( $ergebnis ); // Wenn die Anmeldung korrekt war Session Variable setzen, // COOKIE an Browser schicken und auf die geheime Seite weiterleiten $_SESSION['angemeldet'] = true; setcookie( 'UserLogin', $usercookie['cookie_hash'], time()+600 ); header( 'location: geheim_fortgeschritten.php' ); exit; } else { $fehlermeldung = '<h3>Die Anmeldung war fehlerhaft!</h3>'; } } ?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de" lang="de"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>phpBuddy.eu - Login Script</title> </head> <body> <?php // Falls die Fehlermeldung gesetzt ist if ($fehlermeldung) echo $fehlermeldung; ?> <form id="loginform" method="post" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <label for="benutzer">Benutzer: </label><input type="text" name="benutzer" id="benutzer" value="" /><br /> <label for="passwort">Passwort: </label><input type="password" name="passwort" id="passwort" value="" /><br /> <input type="submit" name="login" id="login" value="Anmelden" /> </form> </body> </html>

preferences:
31.41 ms | 402 KiB | 5 Q