3v4l.org

run code in 300+ PHP versions simultaneously
<?php ################################################################################ # @Name : login.php # @Desc : login page # @call : index.php # @paramters : # @Autor : Flox # @Create : 07/03/2010 # @Update : 29/01/2014 # @Version : 3.0.6 ################################################################################ //initialize variables if(!isset($state)) $state = ''; if(!isset($userid)) $userid = ''; if(!isset($techread)) $techread = ''; if(!isset($findnom)) $findnom = ''; if(!isset($profile)) $profile = ''; if(!isset($newpassword)) $newpassword = ''; if(!isset($salt)) $salt= ''; if(!isset($dcgen)) $dcgen= ''; if(!isset($ldap_type)) $ldap_type= ''; if(!isset($message)) $message= ''; if(!isset($_SESSION['user_id'])) $_SESSION['user_id'] = ''; if(!isset($_SESSION['login'])) $_SESSION['login'] = ''; if(!isset($_GET['page'])) $_GET['page'] = ''; if(!isset($_GET['state'])) $_GET['state'] = ''; if(!isset($_GET['techread'])) $_GET['techread'] = ''; if(!isset($_GET['userid'])) $_GET['userid'] = ''; if(!isset($_GET['userid'])) $_GET['userid'] = ''; if(!isset($_GET['id'])) $_GET['id'] = ''; //default values if($_GET['state']=='') $_GET['state'] = '%'; if($_GET['state']=='') $_GET['state'] = '%'; //actions on submit if (isset($_POST['submit'])) { $login = (isset($_POST['login'])) ? $_POST['login'] : ''; $pass = (isset($_POST['pass'])) ? $_POST['pass'] : ''; $qusr = mysql_query("SELECT * FROM `tusers` WHERE 1"); while ($row=mysql_fetch_array($qusr)) { ////Uppercase login converter $login = strtoupper($login); $nom = strtoupper($row['login']); //double (OR) test for crypted password transition if ($nom == $login && ($row['password']==$pass || $row['password']==md5($row['salt'] . md5($pass))) && $row['password']!='' && $row['disable']==0) { $findnom=$row['login']; $findpwd=$row['password']; $user_id=$row['id']; $profile=$row['profile']; $findsalt=$row['salt']; //update no crypted password to crypted password if($row['password']==$pass) { //password conversion $salt = substr(md5(uniqid(rand(), true)), 0, 5); // Generate a random key $newpassword=md5($salt . md5($row['password'])); // store in md5, md5 password + salt //update query $query = "UPDATE tusers SET password='$newpassword', salt='$salt' WHERE id LIKE '$user_id'"; $exec = mysql_query($query) or die('Erreur SQL !<br /><br />'.mysql_error()); } } } if ($findnom != "") { $_SESSION['login'] = "$findnom"; $_SESSION['user_id'] = "$user_id"; //update last time connection $query = "UPDATE tusers SET last_login='$datetime' WHERE id LIKE '$user_id'"; $exec = mysql_query($query) or die('Erreur SQL !<br /><br />'.mysql_error()); echo "Chargement..."; //select page to redirect for email link case if($_GET['id']) { $www = './index.php?page=ticket&id='.$_GET['id'].''; } else { $www = "./index.php?page=dashboard&userid=$user_id&state=1"; } //web redirection echo "<SCRIPT LANGUAGE='JavaScript'> <!-- function redirect() { window.location='$www' } setTimeout('redirect()'); --> </SCRIPT>"; } else if (($rparameters['ldap'])=='1' && ($rparameters['ldap_auth']=='1')) { /////////// if Gestsup user is not found and LDAP is enable search in LDAP/////////// // LDAP connect $ldap=ldap_connect($rparameters['ldap_server'],$rparameters['ldap_port']) or die("Impossible de se connecter au serveur LDAP."); ldap_set_option($ldap, LDAP_OPT_NETWORK_TIMEOUT, 1); ldap_set_option($ldap, LDAP_OPT_PROTOCOL_VERSION, 3); $domain=$rparameters['ldap_domain']; if ($rparameters['ldap_type']==0) { @$ldapbind = ldap_bind($ldap, "$login@$domain", $pass); } else { //Generate DC Chain from domain parameter $dcpart=explode(".",$domain); $i=0; while($i<count($dcpart)) { $dcgen="$dcgen,dc=$dcpart[$i]"; $i++; } $ldapbind = ldap_bind($ldap, "uid=$login,$rparameters[ldap_url]$dcgen", $pass); } if ($ldapbind && $pass!='') { $_SESSION['login'] = "$login"; $q = mysql_query("SELECT id FROM tusers where login='$login'"); $r = mysql_fetch_array($q); $_SESSION['user_id'] = "$r[0]"; if($r['0']=='') { // if error with login or password $message= '<div class="alert alert-danger"> <button type="button" class="close" data-dismiss="alert"> <i class="icon-remove"></i> </button> <strong> <i class="icon-remove"></i> Erreur </strong> Votre compte est inexistant dans ce logiciel. <br> </div>'; $www = "./index.php"; session_destroy(); //web redirection to login page echo "<SCRIPT LANGUAGE='JavaScript'> <!-- function redirect() { window.location='$www' } setTimeout('redirect()',$rparameters[time_display_msg]); --> </SCRIPT>"; } else { //update last time connection $query = "UPDATE tusers SET last_login='$datetime' WHERE id LIKE '$r[0]'"; $exec = mysql_query($query) or die('Erreur SQL !<br /><br />'.mysql_error()); $www = "./index.php?page=dashboard&userid=$r[0]&state=1"; //web redirection echo "<SCRIPT LANGUAGE='JavaScript'> <!-- function redirect() { window.location='$www' } setTimeout('redirect()'); --> </SCRIPT>"; } } else { // if error with login or password $message= '<div class="alert alert-danger"> <button type="button" class="close" data-dismiss="alert"> <i class="icon-remove"></i> </button> <strong> <i class="icon-remove"></i> Erreur </strong> <br /> Votre nom d\'utilisateur ou mot de passe, n\'est pas correct </div>'; $www = "./index.php"; session_destroy(); //web redirection to login page echo "<SCRIPT LANGUAGE='JavaScript'> <!-- function redirect() { window.location='$www' } setTimeout('redirect()',$rparameters[time_display_msg]); --> </SCRIPT>"; } } else { // if error with login or password $message= '<div class="alert alert-danger"> <button type="button" class="close" data-dismiss="alert"> <i class="icon-remove"></i> </button> <strong> <i class="icon-remove"></i> Erreur </strong> Votre nom d\'utilisateur ou mot de passe, n\'est pas correct. <br> </div>'; $www = "./index.php"; session_destroy(); //web redirection to login page echo "<SCRIPT LANGUAGE='JavaScript'> <!-- function redirect() { window.location='$www' } setTimeout('redirect()',$rparameters[time_display_msg]); --> </SCRIPT>"; } }; // if user isn't connected then display authentication else display dashboard if ($_SESSION['login'] == '') { if($rparameters['ldap_auth']==1) { if ($rparameters['ldap_type']==0) $ldap_type='Windows'; else $ldap_type='OpenLDAP'; $info='<i title="Vous pouvez utiliser votre identifiant et mot de passe '.$ldap_type.'" class="icon-question-sign smaller-80"></i>'; } else { $info='';} echo ' <body class="login-layout"> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <div class="main-container"> <div class="main-content"> <div class="row"> <div class="col-sm-10 col-sm-offset-1"> <div class="login-container"> <div class="center"> <h1> <i class="icon-ticket green"></i> <span class="white">GestSup</span> <font size="2px">'.$rparameters['version'].'</font> </h1> <h4 class="blue">';if (isset($rparameters['company'])) echo $rparameters['company']; echo' </h4> <img style="border-style: none" alt="logo" src="./upload/logo/'; if (isset($rparameters['logo'])) echo $rparameters['logo']; echo '" /> </div> <br /> '.$message.' <div class="space-6"></div> <div class="position-relative"> <div id="login-box" class="login-box visible widget-box no-border"> <div class="widget-body"> <div class="widget-main"> <h4 class="header blue lighter bigger"> <i class="icon-lock green"></i> Saissisez vos identifiants '.$info.' </h4> <div class="space-6"></div> <form id="conn" method="post" action=""> <fieldset> <label class="block clearfix"> <span class="block input-icon input-icon-right"> <input class="form-control" type="text" id="login" name="login" class="span12" placeholder="Nom d\'utilisateur" /> <i class="icon-user"></i> </span> </label> <label class="block clearfix"> <span class="block input-icon input-icon-right"> <input class="form-control" type="password" id="pass" name="pass" class="span12" placeholder="Mot de passe" /> <i class="icon-lock"></i> </span> </label> <div class="space"></div> <div class="clearfix"> <button onclick="submit()" type="submit" id="submit" name="submit" class="pull-right btn btn-sm btn-primary"> <i class="icon-ok"></i> Connexion </button> </div> <div class="space-4"></div> </fieldset> </form> </div><!--/widget-main--> </div><!--/widget-body--> </div><!--/login-box--> </div><!--/position-relative--> </div> </div><!--/.span--> </div><!--/.row-fluid--> </div> <span style="position: absolute; bottom: 0; right: 0;"><a href="http://gestsup.fr">GestSup.fr</a></span> </div><!--/.main-container--> <script type="text/JavaScript"> document.getElementById("login").focus(); </script> '; } ?>

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.0080.01114.88
7.3.120.0110.01115.05
7.3.110.0190.00614.55
7.3.100.0040.01814.35
7.3.90.0160.00414.72
7.3.80.0210.00515.05
7.3.70.0080.01614.99
7.3.60.0120.01615.13
7.3.50.0140.00915.03
7.3.40.0160.01014.62
7.3.30.0110.01114.80
7.3.20.0100.00716.43
7.3.10.0110.01116.70
7.3.00.0090.01216.82
7.2.250.0080.01614.81
7.2.240.0110.01415.36
7.2.230.0080.01214.98
7.2.220.0140.01014.82
7.2.210.0060.02115.00
7.2.200.0230.00514.91
7.2.190.0100.01415.22
7.2.180.0200.00814.83
7.2.170.0070.01314.97
7.1.330.0000.02015.80
7.1.320.0040.01615.58
7.1.310.0030.01715.93
7.1.300.0110.01116.03
7.1.290.0120.01215.62
7.1.280.0130.01015.66
7.1.270.0000.01915.77
7.1.260.0050.01515.91
7.1.70.0040.00416.93
7.1.60.0160.01019.32
7.1.50.0110.01116.86
7.1.00.0070.07322.45
7.0.200.0030.00516.46
7.0.140.0070.06722.12
7.0.100.0530.05720.16
7.0.90.0030.06320.07
7.0.80.0170.06319.99
7.0.70.0130.08020.16
7.0.60.0330.04320.07
7.0.50.0100.07720.49
7.0.40.0100.07720.01
7.0.30.0070.07320.04
7.0.20.0030.08720.00
7.0.10.0200.07020.14
7.0.00.0100.07320.09
5.6.280.0030.07320.98
5.6.250.0030.09020.73
5.6.240.0030.04720.63
5.6.230.0030.06320.71
5.6.220.0030.07320.64
5.6.210.0100.06020.82
5.6.200.0070.07021.17
5.6.190.0030.05321.10
5.6.180.0100.07721.01
5.6.170.0130.06721.10
5.6.160.0070.04321.07
5.6.150.0030.04721.14
5.6.140.0170.08021.07
5.6.130.0100.04321.16
5.6.120.0030.06721.08
5.6.110.0100.06321.16
5.6.100.0030.05020.98
5.6.90.0070.10021.08
5.6.80.0000.05020.48
5.6.70.0070.07320.45
5.6.60.0030.04720.45
5.6.50.0170.03320.49
5.6.40.0070.05320.37
5.6.30.0100.04720.42
5.6.20.0100.07020.52
5.6.10.0170.06020.59
5.6.00.0170.03320.50
5.5.380.0070.05020.39
5.5.370.0070.08320.58
5.5.360.0100.05020.42
5.5.350.0070.04320.49
5.5.340.0270.04320.96
5.5.330.0000.06320.86
5.5.320.0070.05020.89
5.5.310.0030.07020.84
5.5.300.0030.06320.92
5.5.290.0070.08020.82
5.5.280.0030.09020.95
5.5.270.0100.06720.86
5.5.260.0100.07020.98
5.5.250.0100.08020.75
5.5.240.0070.04320.32
5.5.230.0030.07720.20
5.5.220.0170.07320.29
5.5.210.0070.03720.32
5.5.200.0100.07320.34
5.5.190.0100.06720.29
5.5.180.0100.07020.33
5.5.160.0030.05020.34
5.5.150.0100.07320.19
5.5.140.0130.04720.21
5.5.130.0100.07020.24
5.5.120.0070.05320.27
5.5.110.0100.07720.33
5.5.100.0100.07720.08
5.5.90.0070.07720.13
5.5.80.0070.08020.21
5.5.70.0100.08320.20
5.5.60.0130.07320.21
5.5.50.0070.06320.21
5.5.40.0200.06720.14
5.5.30.0130.04320.21
5.5.20.0070.07720.15
5.5.10.0100.07320.10
5.5.00.0070.07720.11
5.4.450.0130.03319.38
5.4.440.0100.07719.11
5.4.430.0070.07719.45
5.4.420.0070.07019.14
5.4.410.0100.07318.98
5.4.400.0070.05019.16
5.4.390.0070.07019.20
5.4.380.0100.03719.03
5.4.370.0100.03718.95
5.4.360.0070.07019.06
5.4.350.0130.07719.06
5.4.340.0030.04718.96
5.4.320.0030.06319.00
5.4.310.0100.05319.13
5.4.300.0100.03318.80
5.4.290.0030.04019.09
5.4.280.0100.07318.78
5.4.270.0100.07018.89
5.4.260.0130.07319.09
5.4.250.0130.06718.89
5.4.240.0070.03718.96
5.4.230.0100.06718.91
5.4.220.0070.06719.22
5.4.210.0100.04019.04
5.4.200.0030.04719.14
5.4.190.0100.08319.11
5.4.180.0000.04719.14
5.4.170.0000.05018.84
5.4.160.0100.05018.80
5.4.150.0100.07719.01
5.4.140.0030.04316.41
5.4.130.0200.03016.39
5.4.120.0030.04316.38
5.4.110.0100.03016.36
5.4.100.0030.03716.50
5.4.90.0070.03016.40
5.4.80.0030.03316.27
5.4.70.0030.03716.25
5.4.60.0030.03716.45
5.4.50.0070.03716.35
5.4.40.0070.03016.19
5.4.30.0070.03316.48
5.4.20.0070.02716.36
5.4.10.0000.04016.35
5.4.00.0000.04015.84
5.3.290.0030.04714.60
5.3.280.0070.04014.51
5.3.270.0100.07014.65
5.3.260.0170.03714.64
5.3.250.0130.05714.61
5.3.240.0170.03314.63
5.3.230.0030.05014.66
5.3.220.0000.04014.60
5.3.210.0070.03714.61
5.3.200.0070.03014.50
5.3.190.0030.04014.50
5.3.180.0030.03714.51
5.3.170.0000.04014.63
5.3.160.0100.03014.47
5.3.150.0000.04014.47
5.3.140.0000.04014.64
5.3.130.0030.04314.46
5.3.120.0070.03014.61
5.3.110.0070.03314.58
5.3.100.0000.04014.06
5.3.90.0070.03714.05
5.3.80.0070.02714.07
5.3.70.0030.04314.07
5.3.60.0200.05014.08
5.3.50.0070.03313.93
5.3.40.0030.03014.00
5.3.30.0030.03013.94
5.3.20.0000.03313.74
5.3.10.0030.03313.67
5.3.00.0000.03713.66

preferences:
38.92 ms | 400 KiB | 5 Q