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>

Here you find the average performance (time & memory) of each version. A grayed out version indicates it didn't complete successfully (based on exit-code).

VersionSystem time (s)User time (s)Memory (MiB)
7.4.00.0110.00615.12
7.3.120.0020.01714.86
7.3.110.0040.01114.76
7.3.100.0090.00414.82
7.3.90.0090.00514.96
7.3.80.0060.00714.94
7.3.70.0070.01014.70
7.3.60.0060.00514.77
7.3.50.0070.00614.98
7.3.40.0020.01414.88
7.3.30.0080.00514.87
7.3.20.0070.00716.63
7.3.10.0110.00316.60
7.3.00.0100.00416.51
7.2.250.0080.00815.12
7.2.240.0090.01015.11
7.2.230.0060.00914.95
7.2.220.0020.01015.33
7.2.210.0080.00414.96
7.2.200.0070.00515.14
7.2.190.0070.00814.98
7.2.180.0090.00714.86
7.2.170.0050.00815.08
7.2.130.0100.00716.28
7.2.120.0110.01116.39
7.2.110.0120.01216.63
7.2.100.0190.00416.50
7.2.90.0110.00816.46
7.2.80.0260.00016.96
7.2.70.0130.00316.88
7.2.60.0090.01217.08
7.2.50.0130.00316.60
7.2.40.0060.00916.63
7.2.30.0090.00916.67
7.2.20.0060.01516.62
7.2.10.0170.00016.59
7.2.00.0070.01018.09
7.1.330.0060.00815.75
7.1.320.0090.00415.79
7.1.310.0100.00515.94
7.1.300.0050.00615.79
7.1.290.0090.00415.76
7.1.280.0050.00515.85
7.1.270.0050.00915.78
7.1.260.0030.01015.71
7.1.250.0220.00015.28
7.1.200.0100.00315.84
7.1.100.0030.00918.16
7.1.70.0030.00717.13
7.1.60.0060.01919.32
7.1.50.0100.01416.93
7.1.00.0100.06022.36
7.0.200.0030.00516.86
7.0.140.0030.07022.18
7.0.80.0630.07320.01
7.0.70.0600.06720.06
7.0.60.0570.08320.00
7.0.50.0470.06020.36
7.0.40.0130.05020.04
7.0.30.0130.08020.13
7.0.20.0170.07020.14
7.0.10.0130.07720.09
7.0.00.0200.06720.17
5.6.280.0070.07021.12
5.6.230.0130.08020.53
5.6.220.0100.08020.72
5.6.210.0170.07020.77
5.6.200.0030.08721.06
5.6.190.0070.08021.06
5.6.180.0100.06321.09
5.6.170.0070.08021.04
5.6.160.0130.06721.04
5.6.150.0030.06021.12
5.6.140.0070.05321.09
5.6.130.0100.06721.04
5.6.120.0130.08021.13
5.6.110.0030.08321.04
5.6.100.0070.08721.04
5.6.90.0200.07320.95
5.6.80.0130.05020.43
5.6.70.0030.08020.44
5.6.60.0100.04020.33
5.6.50.0130.06320.34
5.6.40.0130.08020.33
5.6.30.0130.07020.46
5.6.20.0070.08020.33
5.6.10.0130.05020.44
5.6.00.0200.07320.38
5.5.370.0030.08720.41
5.5.360.0070.07720.52
5.5.350.0200.06720.43
5.5.340.0070.09020.88
5.5.330.0100.08720.78
5.5.320.0200.04720.75
5.5.310.0230.06020.88
5.5.300.0100.08320.79
5.5.290.0100.08720.93
5.5.280.0030.08320.94
5.5.270.0100.06320.84
5.5.260.0000.09020.88
5.5.250.0100.07020.70
5.5.240.0130.07020.34
5.5.230.0170.07320.29
5.5.220.0000.06720.16
5.5.210.0000.05020.15
5.5.200.0070.07720.15
5.5.190.0100.07320.24
5.5.180.0000.05020.19
5.5.160.0100.07720.19
5.5.150.0130.05320.25
5.5.140.0130.06720.17
5.5.130.0100.07020.13
5.5.120.0130.07020.20
5.5.110.0030.08020.19
5.5.100.0030.08020.20
5.5.90.0000.05320.11
5.5.80.0130.06320.04
5.5.70.0130.04719.94
5.5.60.0130.07019.96
5.5.50.0070.04320.17
5.5.40.0200.06720.07
5.5.30.0200.06720.17
5.5.20.0130.07320.16
5.5.10.0030.07719.99
5.5.00.0070.06319.99
5.4.450.0100.08019.29
5.4.440.0030.07019.36
5.4.430.0070.08319.46
5.4.420.0170.06719.41
5.4.410.0030.06719.09
5.4.400.0130.07019.06
5.4.390.0100.07019.23
5.4.380.0130.07019.14
5.4.370.0100.07019.18
5.4.360.0100.06719.04
5.4.350.0100.07319.17
5.4.340.0100.07018.88
5.4.320.0030.04318.85
5.4.310.0070.06018.94
5.4.300.0070.07019.21
5.4.290.0030.05318.94
5.4.280.0030.04319.04
5.4.270.0070.07718.94
5.4.260.0130.05019.12
5.4.250.0000.06319.04
5.4.240.0100.06718.87
5.4.230.0030.05718.90
5.4.220.0030.04019.12
5.4.210.0070.07719.15
5.4.200.0130.06719.15
5.4.190.0070.06319.13
5.4.180.0100.07019.17
5.4.170.0000.07719.12
5.4.160.0100.05019.16
5.4.150.0000.04719.01
5.4.140.0100.07016.22
5.4.130.0100.06716.41
5.4.120.0070.06016.41
5.4.110.0100.07316.28
5.4.100.0030.07716.49
5.4.90.0000.07016.51
5.4.80.0070.07016.31
5.4.70.0100.07016.32
5.4.60.0000.04016.45
5.4.50.0100.05716.30
5.4.40.0070.07016.39
5.4.30.0030.05316.34
5.4.20.0100.07716.25
5.4.10.0070.05016.30
5.4.00.0000.05015.87
5.3.290.0000.08314.65
5.3.280.0000.08014.75
5.3.270.0100.07714.68
5.3.260.0100.05314.55
5.3.250.0100.07314.65
5.3.240.0030.04714.72
5.3.230.0100.06314.67
5.3.220.0070.07714.55
5.3.210.0070.07314.61
5.3.200.0030.08314.65
5.3.190.0070.06714.71
5.3.180.0100.07014.72
5.3.170.0100.04714.68
5.3.160.0000.05314.53
5.3.150.0070.04714.51
5.3.140.0070.08014.63
5.3.130.0070.07714.64
5.3.120.0130.07714.63
5.3.110.0000.05714.60
5.3.100.0100.07314.10
5.3.90.0030.07313.96
5.3.80.0100.07014.09
5.3.70.0070.07714.15
5.3.60.0030.07714.04
5.3.50.0000.05314.07
5.3.40.0000.06013.97
5.3.30.0030.07313.93
5.3.20.0100.06313.72
5.3.10.0030.07313.74
5.3.00.0100.06313.76
5.2.170.0030.04711.17
5.2.160.0100.06011.08
5.2.150.0070.06311.17
5.2.140.0030.06311.25
5.2.130.0100.04311.20
5.2.120.0070.05711.07
5.2.110.0070.06311.26
5.2.100.0030.06311.26
5.2.90.0030.05011.19
5.2.80.0030.03011.17
5.2.70.0070.06011.18
5.2.60.0100.05710.98
5.2.50.0030.06011.17
5.2.40.0070.05011.07
5.2.30.0100.06011.11
5.2.20.0000.04010.90
5.2.10.0170.04710.94
5.2.00.0030.04710.66
5.1.60.0000.05710.12
5.1.50.0100.05010.12
5.1.40.0000.05310.05
5.1.30.0100.04310.29
5.1.20.0030.04710.49
5.1.10.0100.05310.14
5.1.00.0030.05710.08
5.0.50.0030.0478.66
5.0.40.0070.0438.44
5.0.30.0030.0638.14
5.0.20.0000.0308.27
5.0.10.0070.0378.04
5.0.00.0030.0638.29
4.4.90.0000.0377.42
4.4.80.0030.0337.42
4.4.70.0030.0337.42
4.4.60.0000.0377.42
4.4.50.0030.0307.42
4.4.40.0000.0477.42
4.4.30.0000.0377.42
4.4.20.0070.0337.42
4.4.10.0070.0337.42
4.4.00.0000.0507.42
4.3.110.0030.0337.42
4.3.100.0070.0307.42
4.3.90.0000.0337.42
4.3.80.0000.0537.42
4.3.70.0000.0277.42
4.3.60.0000.0337.42
4.3.50.0070.0307.42
4.3.40.0070.0377.42
4.3.30.0130.0177.42
4.3.20.0000.0337.42
4.3.10.0000.0377.42
4.3.00.0070.0177.42

preferences:
40.25 ms | 400 KiB | 5 Q