fork download
  1. <?php
  2. $operations = ['+', '-', '*', '/'];
  3. $op1 = null;
  4. $op2 = null;
  5. if (isset($_POST['op1']) && isset($_POST['op2'])) {
  6. if (in_array($_POST['op'], $operations)) {
  7. $op1 = (float)$_POST['op1'];
  8. $op2 = (float)$_POST['op2'];
  9. switch ($_POST['op']){
  10. case '+':
  11. $res = $op1 + $op2;
  12. break;
  13. case '-':
  14. $res = $op1 - $op2;
  15. break;
  16. case '*':
  17. $res = $op1 * $op2;
  18. break;
  19. case '/':
  20. if ($op2 == 0) {
  21. echo 'На ноль делить нельзя!';
  22. break;
  23. } else $res = $op1 / $op2;
  24. break;
  25. }
  26. } else {
  27. $res = 'error!';
  28. }
  29. }?>
  30. <!DOCTYPE html>
  31. <html lang="en">
  32. <head>
  33. <meta charset="UTF-8">
  34. <title>Calculator</title>
  35. </head>
  36. <body>
  37. <form action="calc.php" method="post">
  38. <input type="text" name="op1" value="<?php echo $op1; ?>"/>
  39. <select name="op">
  40. <?php foreach ($operations as $op): ?>
  41. <option value="<?php echo $op; ?>"><?php echo $op; ?></option>
  42. <?php endforeach; ?>
  43. </select>
  44. <input type="text" name="op2" value="<?php echo $op2; ?>"/>
  45. <br>
  46. <?php if(isset($res)): ?>
  47. <p>Result: <?php echo $res; ?></p>
  48. <?php endif; ?>
  49. <input type="submit" value="calc!" />
  50. </form>
  51. </body>
  52. </html>
Success #stdin #stdout 0.02s 52432KB
stdin
Standard input is empty
stdout
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Calculator</title>
</head>
<body>
<form action="calc.php" method="post">
    <input type="text" name="op1" value=""/>
    <select name="op">
                    <option value="+">+</option>
                    <option value="-">-</option>
                    <option value="*">*</option>
                    <option value="/">/</option>
            </select>
    <input type="text" name="op2" value=""/>
    <br>
        <input type="submit" value="calc!" />
</form>
</body>
</html>