3v4l.org

run code in 300+ PHP versions simultaneously
<!DOCTYPE html> <html> <head> <style> body{ border:10px solid black; border-style:groove; padding:10px; margin-left:300px; margin-right:300px; } .error{color:red} </style> </head> <body> <?php $fnameerr = $lnameerr = $mailerr = $passerr = $cpasserr = $gendererr = ""; $fname = $lname = $mail = $pass = $cpass = $gender = $file = $add = ""; if ($_SERVER["REQUEST_METHOD"] == "POST") { if(empty($_POST["fname"])){ $fnameerr = "Please enter your first name";} else{ $fname = test($_POST["fname"]); if(!preg_match("/^[a-zA-Z ]*$/",$fname)) $fnameerr = "Only letters and white spaces are allowed"; } if(empty($_POST["lname"])){ $lnameerr = "Please enter your last name";} else{ $lname = test($_POST["lname"]); if(!preg_match("/^[a-zA-Z ]*$/",$lname)) $lnameerr = "Only letters and white spaces are allowed"; } if(empty($_POST["mail"])){ $mailerr = "Please enter your mail id";} else{ $mail = test($_POST["mail"]); if(!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$mail)) $mailerr = "Please enter a valid mail id"; } if(empty($_POST["pass"])){ $passerr = "Please enter your password";} if(empty($_POST["cpass"])){ $cpasserr = "Please confirm your password";} else{ if($_POST["pass"] != $_POST["cpass"]){ $passerr = "Please enter your password"; $cpasserr="Password is not matching";} } if(empty($_POST["add"])){ $add = "";} else{ $add = test($_POST["add"]);} if (empty($_POST["gender"])) { $gendererr = "Please choose your gender";} else { $gender = test($_POST["gender"]);} } function test($data) { $data = trim($data); $data = stripslashes($data); return $data; } ?> <form method="POST" action="<?php echo $_SERVER['PHP_SELF']; ?>"> <h3><center><u>User Registration Page</u><center></h3> <h5 class="error">* Required fields...</h5> First Name: <input type="text" name="fname"> <span class="error">*<?php echo $fnameerr; ?></span> <br> <br> Last Nmae: <input type="text" name="lname"> <span class="error">*<?php echo $lnameerr; ?></span> <br> <br> E-mail: <input type="text" name="mail"> <span class="error">*<?php echo $mailerr; ?></span> <br> <br> Password: <input type="password" name="pass"> <span class="error">*<?php echo $passerr; ?></span> <br> <br> Confirm password: <input type="password" name="cpass"> <span class="error">*<?php echo $cpasserr; ?></span> <br> <br> Address: <textarea class="xyz" name="add" rows="10" cols="50"></textarea> <br> <br> Gender: <input type="radio" name="gender" value="Male">Male <input type="radio" name="gender" value="Female">Female <span class="error">*<?php echo $gendererr; ?></span> <br> <br> <center><input type="submit" name="sub" value="Submit"></center> <br> </form> <!--<?php if ($_SERVER["REQUEST_METHOD"] == "POST") { echo "Thank you for your registration...<br>"; echo "Your First Name: ".$fname."<br>"; echo "Your Last Name: ".$lname."<br>"; echo "Your E-mail: ".$mail."<br>"; echo "Your address: ".$add."<br>"; echo "Gender: ".$gender."<br>"; } ?>--> <?php /*if ($_SERVER["REQUEST_METHOD"] == "POST")*/ if(isset($_SERVER["REQUEST_METHOD"] == "POST")) { $con = mysqli_connect("localhost","root","","phptask"); if(mysqli_connect_errno()){ echo "Failed to connect to MySql: ".mysqli_connect_error(); } $fname = mysqli_real_escape_string($con,$_POST['fname']); $lname = mysqli_real_escape_string($con,$_POST['lname']); $mail = mysqli_real_escape_string($con,$_POST['mail']); $pass = mysqli_real_escape_string($con,$_POST['pass']); $add = mysqli_real_escape_string($con,$_POST['add']); $gender = mysqli_real_escape_string($con,$_POST['gender']); $sql = "INSERT INTO USER_DETAIL(firstname,lastname,email,password,address,gender)VALUES('$fname','$lname','$mail','$pass','$add','$gender')"; if(!mysqli_query($con,$sql)){ die("Error: ".mysqli_error($con)); } echo "Thank you for your registration.<br>"; echo "Your data has been submitted.<br>"; } ?> </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)
5.4.310.0030.03719.13
5.4.300.0070.07019.24
5.4.290.0000.06319.25
5.4.280.0030.04319.06
5.4.270.0130.06319.09
5.4.260.0000.05319.16
5.4.250.0000.06319.29
5.4.240.0030.07319.19
5.4.230.0030.06718.99
5.4.220.0070.06718.85
5.4.210.0070.04719.14
5.4.200.0000.08718.97
5.4.190.0030.04018.86
5.4.180.0070.05019.05
5.4.170.0100.04019.05
5.4.160.0100.06718.97
5.4.150.0070.07318.98
5.4.140.0030.06316.30
5.4.130.0000.07716.50
5.4.120.0030.07316.29
5.4.110.0130.03716.20
5.4.100.0000.05716.55
5.4.90.0030.03716.57
5.4.80.0000.07316.54
5.4.70.0030.04316.26
5.4.60.0000.03716.44
5.4.50.0000.04316.17
5.4.40.0030.07316.38
5.4.30.0100.06716.44
5.4.20.0030.04716.43
5.4.10.0030.04716.25
5.4.00.0000.07015.77
5.3.280.0000.06714.84
5.3.270.0070.06714.54
5.3.260.0000.05014.62
5.3.250.0100.06314.66
5.3.240.0000.05714.68
5.3.230.0070.05314.54
5.3.220.0070.07014.74
5.3.210.0070.07014.50
5.3.200.0000.07714.68
5.3.190.0000.03714.56
5.3.180.0070.04314.48
5.3.170.0000.04714.74
5.3.160.0030.04714.57
5.3.150.0000.03714.60
5.3.140.0070.07014.58
5.3.130.0100.06314.57
5.3.120.0030.06014.47
5.3.110.0030.07014.54
5.3.100.0030.07714.04
5.3.90.0000.05014.12
5.3.80.0000.06713.95
5.3.70.0030.03313.95
5.3.60.0000.05313.93
5.3.50.0000.04014.20
5.3.40.0030.06013.88
5.3.30.0070.05713.92
5.3.20.0030.05013.71
5.3.10.0000.06013.76
5.3.00.0000.07013.75

preferences:
154.96 ms | 1398 KiB | 7 Q