3v4l.org

run code in 500+ PHP versions simultaneously
<?php // LAB 6 - PHP Exercises Combined ?> <!DOCTYPE html> <html> <head> <title>Lab 6 PHP Exercises</title> <style> .blue-text { color: blue; font-size: 14px; } table, th, td { border: 1px solid black; border-collapse: collapse; padding: 5px; } </style> </head> <body> <h2>Exercise 1</h2> <?php // Exercise 1: Change paragraph content from "HTML" to "JavaScript" $para = "HTML"; if(isset($_POST['change_text'])) { $para = "JavaScript"; } ?> <p><?php echo $para; ?></p> <form method="post"> <button name="change_text">Change Text</button> </form> <!-- Moving to Exercise 2 --> <h2>Exercise 2</h2> <?php // Exercise 2: Change style of paragraph with "JavaScript" $js_text = "JavaScript"; ?> <p class="blue-text"><?php echo $js_text; ?></p> <!-- Moving to Exercise 3 --> <h2>Exercise 3</h2> <?php // Exercise 3: Random number guess $message = ""; $rand = rand(1,10); if(isset($_POST['guess'])) { $user_guess = intval($_POST['user_guess']); $message = ($user_guess == $rand) ? "Good Work" : "Not matched (Answer was $rand)"; } ?> <form method="post"> <input type="number" name="user_guess" min="1" max="10" required> <button name="guess">Guess</button> </form> <p><?php if(isset($message)) echo $message; ?></p> <!-- Moving to Exercise 4 --> <h2>Exercise 4</h2> <?php // Exercise 4: Multiplication and division $result = ""; if(isset($_POST['calc'])) { $num1 = floatval($_POST['num1']); $num2 = floatval($_POST['num2']); $result = "Multiplication: ".($num1*$num2).", Division: ".($num2!=0 ? $num1/$num2 : "Cannot divide by zero"); } ?> <form method="post"> <input type="number" name="num1" step="any" placeholder="Number 1" required> <input type="number" name="num2" step="any" placeholder="Number 2" required> <button name="calc">Calculate</button> </form> <p><?php if(isset($result)) echo $result; ?></p> <!-- Moving to Exercise 5 --> <h2>Exercise 5</h2> <?php // Exercise 5: Temperature conversion function c_to_f($c){ return ($c*9/5)+32; } function f_to_c($f){ return ($f-32)*5/9; } $temp_result = ""; if(isset($_POST['convert_temp'])) { $temp = floatval($_POST['temp']); $unit = $_POST['unit']; if($unit=="C") $temp_result = "$temp °C = ".c_to_f($temp)." °F"; else $temp_result = "$temp °F = ".f_to_c($temp)." °C"; } ?> <form method="post"> <input type="number" name="temp" step="any" required> <select name="unit"> <option value="C">Celsius</option> <option value="F">Fahrenheit</option> </select> <button name="convert_temp">Convert</button> </form> <p><?php if(isset($temp_result)) echo $temp_result; ?></p> <!-- Moving to Exercise 6 --> <h2>Exercise 6</h2> <?php // Exercise 6: Angle type $angle_result = ""; if(isset($_POST['check_angle'])) { $angle = floatval($_POST['angle']); if($angle>0 && $angle<90) $angle_result = "Acute angle"; elseif($angle==90) $angle_result = "Right angle"; elseif($angle>90 && $angle<180) $angle_result = "Obtuse angle"; elseif($angle==180) $angle_result = "Straight angle"; else $angle_result = "Invalid angle"; } ?> <form method="post"> <input type="number" name="angle" min="0" max="180" required> <button name="check_angle">Check Angle</button> </form> <p><?php if(isset($angle_result)) echo $angle_result; ?></p> <!-- Moving to Exercise 7 --> <h2>Exercise 7</h2> <?php // Exercise 7: Reverse bits $rev_bits = ""; if(isset($_POST['rev_bits'])) { $num = intval($_POST['num_bits']); $bin = decbin($num); $rev_bin = strrev($bin); $rev_bits = bindec($rev_bin); } ?> <form method="post"> <input type="number" name="num_bits" required> <button name="rev_bits">Reverse Bits</button> </form> <p><?php if(isset($rev_bits)) echo "Reversed: ".$rev_bits; ?></p> <!-- Moving to Exercise 8 --> <h2>Exercise 8</h2> <?php // Exercise 8: Sum of cubes $sum_cubes = ""; if(isset($_POST['sum_cubes'])) { $n = intval($_POST['num_cubes']); $sum = 0; for($i=1;$i<=$n;$i++) $sum += $i**3; $sum_cubes = "Sum of cubes = ".$sum; } ?> <form method="post"> <input type="number" name="num_cubes" required> <button name="sum_cubes">Calculate Sum of Cubes</button> </form> <p><?php if(isset($sum_cubes)) echo $sum_cubes; ?></p> <!-- Moving to Exercise 9 --> <h2>Exercise 9</h2> <?php // Exercise 9: Form validation with PHP $nameErr = $emailErr = $genderErr = $commentErr = ""; $name = $email = $gender = $comment = ""; if(isset($_POST['submit_form'])) { if(empty($_POST['name']) || !preg_match("/^[a-zA-Z ]*$/",$_POST['name'])) $nameErr="Invalid Name"; else $name=$_POST['name']; if(empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) $emailErr="Invalid Email"; else $email=$_POST['email']; if(empty($_POST['gender'])) $genderErr="Select Gender"; else $gender=$_POST['gender']; if(strlen($_POST['comment'])>256) $commentErr="Comment too long"; else $comment=$_POST['comment']; } ?> <form method="post"> Name: <input type="text" name="name" required> <span><?php echo $nameErr; ?></span><br> Email: <input type="email" name="email" required> <span><?php echo $emailErr; ?></span><br> Website: <input type="text" name="website"><br> Comment: <textarea name="comment"></textarea> <span><?php echo $commentErr; ?></span><br> Gender: <input type="radio" name="gender" value="Female"> Female <input type="radio" name="gender" value="Male"> Male <input type="radio" name="gender" value="Other"> Other <span><?php echo $genderErr; ?></span><br> <button name="submit_form">Submit</button> </form> <p>Your Input: <?php echo "$name, $email, $gender, $comment"; ?></p> <!-- Moving to Exercise 10 --> <h2>Exercise 10</h2> <?php // Exercise 10: Course Evaluation Form if(isset($_POST['evaluate'])) { $sname = $_POST['sname']; $semail = $_POST['semail']; $edate = $_POST['edate']; $topic = $_POST['topic']; $rate = $_POST['rate']; if(empty($sname) || empty($semail)) { echo "<p>Name and Email are required!</p>"; } else { echo "<table>"; echo "<tr><th>Student Name</th><td>$sname</td></tr>"; echo "<tr><th>Student Email</th><td>$semail</td></tr>"; echo "<tr><th>Date</th><td>$edate</td></tr>"; echo "<tr><th>Favourite Topic</th><td>$topic</td></tr>"; echo "<tr><th>Rate</th><td>$rate</td></tr>"; echo "</table>"; } } ?> <form method="post"> Student Name: <input type="text" name="sname" required><br> Student Email: <input type="email" name="semail" required><br> Evaluation Date: <input type="datetime-local" name="edate" required><br> Favourite Topic: <select name="topic"> <option>HTML</option> <option>CSS</option> <option>JavaScript</option> <option>PHP-MySQL</option> </select><br> Rate 1-5: <input type="number" name="rate" min="1" max="5" required><br> <button name="evaluate">Evaluate</button> </form> </body> </html>
Output for git.master_jit, git.master
<!DOCTYPE html> <html> <head> <title>Lab 6 PHP Exercises</title> <style> .blue-text { color: blue; font-size: 14px; } table, th, td { border: 1px solid black; border-collapse: collapse; padding: 5px; } </style> </head> <body> <h2>Exercise 1</h2> <p>HTML</p> <form method="post"> <button name="change_text">Change Text</button> </form> <!-- Moving to Exercise 2 --> <h2>Exercise 2</h2> <p class="blue-text">JavaScript</p> <!-- Moving to Exercise 3 --> <h2>Exercise 3</h2> <form method="post"> <input type="number" name="user_guess" min="1" max="10" required> <button name="guess">Guess</button> </form> <p></p> <!-- Moving to Exercise 4 --> <h2>Exercise 4</h2> <form method="post"> <input type="number" name="num1" step="any" placeholder="Number 1" required> <input type="number" name="num2" step="any" placeholder="Number 2" required> <button name="calc">Calculate</button> </form> <p></p> <!-- Moving to Exercise 5 --> <h2>Exercise 5</h2> <form method="post"> <input type="number" name="temp" step="any" required> <select name="unit"> <option value="C">Celsius</option> <option value="F">Fahrenheit</option> </select> <button name="convert_temp">Convert</button> </form> <p></p> <!-- Moving to Exercise 6 --> <h2>Exercise 6</h2> <form method="post"> <input type="number" name="angle" min="0" max="180" required> <button name="check_angle">Check Angle</button> </form> <p></p> <!-- Moving to Exercise 7 --> <h2>Exercise 7</h2> <form method="post"> <input type="number" name="num_bits" required> <button name="rev_bits">Reverse Bits</button> </form> <p>Reversed: </p> <!-- Moving to Exercise 8 --> <h2>Exercise 8</h2> <form method="post"> <input type="number" name="num_cubes" required> <button name="sum_cubes">Calculate Sum of Cubes</button> </form> <p></p> <!-- Moving to Exercise 9 --> <h2>Exercise 9</h2> <form method="post"> Name: <input type="text" name="name" required> <span></span><br> Email: <input type="email" name="email" required> <span></span><br> Website: <input type="text" name="website"><br> Comment: <textarea name="comment"></textarea> <span></span><br> Gender: <input type="radio" name="gender" value="Female"> Female <input type="radio" name="gender" value="Male"> Male <input type="radio" name="gender" value="Other"> Other <span></span><br> <button name="submit_form">Submit</button> </form> <p>Your Input: , , , </p> <!-- Moving to Exercise 10 --> <h2>Exercise 10</h2> <form method="post"> Student Name: <input type="text" name="sname" required><br> Student Email: <input type="email" name="semail" required><br> Evaluation Date: <input type="datetime-local" name="edate" required><br> Favourite Topic: <select name="topic"> <option>HTML</option> <option>CSS</option> <option>JavaScript</option> <option>PHP-MySQL</option> </select><br> Rate 1-5: <input type="number" name="rate" min="1" max="5" required><br> <button name="evaluate">Evaluate</button> </form> </body> </html>

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
47.2 ms | 925 KiB | 3 Q