Advertisement
Guest User

Калькулятор

a guest
Apr 28th, 2015
204
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.85 KB | None | 0 0
  1. <?php
  2.  
  3. /* Нужно узнать, пришли ли нам данные вообще */
  4. //Если массив $_POST не пустой
  5. if(!empty($_POST)) {
  6.  
  7. //Сюда складываются ошибки, если они возникнут
  8. $errors = [];
  9. //ошибки для первой окошки
  10. if(is_numeric($_POST['num1'])) {
  11. $num1 = $_POST['num1'];
  12. } else {
  13. $errors[] = 'Число 1 должно быть числом';
  14. }
  15. //ошибки для второй окошки
  16. if(is_numeric($_POST['num2'])) {
  17. $num2 = $_POST['num2'];
  18. } else {
  19. $errors[] = 'Число 2 должно быть числом';
  20. }
  21.  
  22. //Вычисление делаем только в том случае, если массив ошибок есть
  23. //Если массив ошибок пуст
  24. if (empty($errors)) {
  25. //то тогда мы здесь что-то вычисляем
  26. echo 'Вычисляем...';
  27. } else {
  28. //если массив ошибок не пустой,
  29. // то в переменную result записываем пустую строку,
  30. // потому что результат никакого не получил
  31. $result = '';
  32. }
  33.  
  34. } else {
  35. /* Если пустой, result будет = просто пустой строке */
  36. $result = '';
  37. }
  38. ?>
  39.  
  40.  
  41. <!DOCTYPE html>
  42. <html>
  43. <head lang="en">
  44. <meta charset="UTF-8">
  45. <title></title>
  46. </head>
  47. <body>
  48.  
  49. <h1>Калькулятор в PHP</h1>
  50.  
  51. <!--Форма калькулятора-->
  52.  
  53. <!--Отобразим ошибки здесь-->
  54.  
  55. <!--Если массив ошибок не пустой-->
  56. <?php if (!empty($errors)): ?>
  57. <!--С помощью цикла foreach по нему функцию и каждую ошибочку выведем-->
  58. <?php foreach ($errors as $error): ?>
  59. <p><?php echo $error; ?></p>
  60. <?php endforeach; ?>
  61. <?php endif; ?>
  62.  
  63. <form action="/index.php" method="post">
  64. <input type="text" name="num1" value="" />
  65. <select name="op">
  66. <option name="pl">+</option>
  67. <option name="mi">-</option>
  68. <option name="ym">*</option>
  69. <option name="del">/</option>
  70. </select>
  71. <input type="text" name="num2" value="" />
  72. <input type="submit" value="=">
  73. </form>
  74.  
  75. <!--Если не равен пустой строке result-->
  76.  
  77. <?php $op = $_POST['op'];
  78. $pl = $_POST['pl'];
  79. $mi = $_POST['mi'];
  80. $ym = $_POST['ym'];
  81. $del = $_POST['del'];
  82. ?>
  83.  
  84. <p>Результат:</p>
  85. <?php
  86. switch ($result) {
  87. case $pl:
  88. $op = $num1 + $num2;
  89. break;
  90. case $mi:
  91. $op = $num1 - $num2;
  92. break;
  93. default:
  94. echo 'ничего не понял';
  95. break;
  96. }
  97. echo $op;
  98. ?>
  99.  
  100. </body>
  101. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement