3v4l.org

run code in 300+ PHP versions simultaneously
<?php require_once('config.php'); require_once('login.php'); if($_SESSION['admin']!=='true'){ header("Location: home.php?msg=Ehm, ehm. You are not admin or you logged out (if so, please log in again)."); echo "You are not admin so please behave yourself :)"; } elseif($_SESSION['admin']=='true'){ if($_GET['action']=='logout'){ unset($_SESSION['admin']); } elseif($_GET['action']=='adduser'){ if($_POST['adduser']){ $user_name = mysql_real_escape_string($_POST['user_name']); $pwd = mysql_real_escape_string($_POST['password']); $fullname = mysql_real_escape_string($_POST['fullname']); $rank = mysql_real_escape_string($_POST['rank']); if($rank=='1'){ $rank='teacher'; } else { $rank='student'; } $insert_query = "INSERT INTO $tbl_name (user_name, fullname, password, rank) VALUES ('$user_name', '$fullname', '$pwd', '$rank')"; $insert_result = mysql_query($insert_query) or die(mysql_error()); $responsemsg = "User has been added!"; } else { ?> <style> .admin { display:none; } </style> <form name="form2" method="post" action="admin.php?action=adduser"> <strong>Add a user </strong> Fullname: <input name="fullname" type="text" id="fullname" /> Username: <input name="user_name" type="text" id="user_name" /> Password: <input name="password" type="password" id="password" /> Rank: <input type="radio" value="2" name="rank" id="rank" /> Student <input type="radio" value="1" name="rank" id="rank" /> Teacher <input type="submit" name="Submit" value="Add" /></form> <?php } } elseif($_GET['action']=='deleteuser'){ if($_GET['user']){ $user = $_GET['user']; // profile name. $user = mysql_real_escape_string($user); $query5 = "DELETE FROM $tbl_name WHERE user_name = '$user'"; $result = mysql_query( $query5 ) or die(mysql_error()); $responsemsg = "User has been deleted!"; } else { $qfo = "SELECT * FROM $tbl_name WHERE user_name = '$user' AND (rank = 'teacher' OR rank = 'student')"; $fo = mysql_query($qfo) or die(mysql_error()); $rowfo = mysql_num_rows($fo); if ($rowfo == 0 ) { // no user echo "No users."; } else { echo "<style>.admin { display:none; } .back { display: block !important; }</style>"; while($users = mysql_fetch_array($fo)){ $user_name = $users['user_name']; $fullname = $users['fullname']; $rank = $users['rank']; $uid = $users['id']; $session = $users['session']; $class = $users['class']; echo "<div> ".$uid." ~ ".$fullname." (".$user_name.") of Class ".$class." and session ".$session." - ".$rank." | <a href='?action=deleteuser&user=".$user_name."'>Delete</a> - <a href='?action=viewpwd&user=".$user_name."'>View password</a></div>"; } } } elseif($_GET['action']=='viewpwd') { echo '<style>.admin { display:none; } .back { display: block !important; }</style>'; if($_GET['user']){ $user = $_GET['user']; // profile name. $user = mysql_real_escape_string($user); $qfo = "SELECT * FROM $tbl_name WHERE user_name = '$user' AND (rank = 'teacher' OR rank = 'student')"; $fo = mysql_query($qfo) or die(mysql_error()); $foundu = mysql_num_rows($fo); if($foundu=='0'){ echo "No such user found!"; } else { $userinfo = mysql_fetch_array($fo); $pwd = $userinfo['password']; echo "Password is: <b>".$pwd."</b>"; } } } ?> <?php if (isSet($_GET['msg'])){ echo "<span id='postmsg'>".htmlentities($_GET['msg'])."</span><br/>"; } ?> <?php if (isSet($responsemsg)){ echo "<span id='postmsg'>".htmlentities($responsemsg)."</span><br/>"; } ?> <div class="admin"> Welcome, <?=$_SESSION['fullname']?><br /> What you want to do? <a href="?action=adduser">Add a user</a> <a href="?action=deleteuser">View a user</a> <a href="?action=logout">Logout from admin panel</a> </div> <div class="back" style="display:none"> <a href="admin.php" >Go back</a> </div> <?php } ?>

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)
5.5.30.0100.05317.22
5.5.20.0100.04317.18
5.5.10.0070.08017.32
5.5.00.0100.05317.27
5.4.190.0000.08019.11
5.4.180.0200.05019.05
5.4.170.0070.05019.00
5.4.160.0030.08019.02
5.4.150.0100.06318.87
5.4.140.0100.07016.40
5.4.130.0070.07316.35
5.4.120.0070.07716.25
5.4.110.0130.04016.36
5.4.100.0000.04716.39
5.4.90.0030.04716.31
5.4.80.0070.07716.46
5.4.70.0000.04016.46
5.4.60.0070.04316.30
5.4.50.0130.06016.46
5.4.40.0070.06716.57
5.4.30.0030.07716.45
5.4.20.0100.07316.44
5.4.10.0130.06716.37
5.4.00.0100.06715.73
5.3.270.0100.05014.57
5.3.260.0000.08314.42
5.3.250.0170.06714.59
5.3.240.0070.06314.58
5.3.230.0030.05314.60
5.3.220.0070.06014.51
5.3.210.0030.04714.54
5.3.200.0030.05014.57
5.3.190.0070.04014.56
5.3.180.0070.07314.53
5.3.170.0000.08014.41
5.3.160.0030.07314.53
5.3.150.0130.06714.52
5.3.140.0070.04314.42
5.3.130.0070.08014.41
5.3.120.0100.07014.41
5.3.110.0070.07714.52
5.3.100.0100.04314.04
5.3.90.0130.04314.00
5.3.80.0100.06313.81
5.3.70.0100.04713.80
5.3.60.0070.05014.01
5.3.50.0000.04313.98
5.3.40.0030.03713.89
5.3.30.0070.05313.80
5.3.20.0000.07713.68
5.3.10.0070.07013.45
5.3.00.0030.06713.65

preferences:
139.81 ms | 1386 KiB | 7 Q