Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- /* Нужно узнать, пришли ли нам данные вообще */
- //Если массив $_POST не пустой
- if(!empty($_POST)) {
- //Сюда складываются ошибки, если они возникнут
- $errors = [];
- //ошибки для первой окошки
- if(is_numeric($_POST['num1'])) {
- $num1 = $_POST['num1'];
- } else {
- $errors[] = 'Число 1 должно быть числом';
- }
- //ошибки для второй окошки
- if(is_numeric($_POST['num2'])) {
- $num2 = $_POST['num2'];
- } else {
- $errors[] = 'Число 2 должно быть числом';
- }
- //Вычисление делаем только в том случае, если массив ошибок есть
- //Если массив ошибок пуст
- if (empty($errors)) {
- //то тогда мы здесь что-то вычисляем
- echo 'Вычисляем...';
- } else {
- //если массив ошибок не пустой,
- // то в переменную result записываем пустую строку,
- // потому что результат никакого не получил
- $result = '';
- }
- } else {
- /* Если пустой, result будет = просто пустой строке */
- $result = '';
- }
- ?>
- <!DOCTYPE html>
- <html>
- <head lang="en">
- <meta charset="UTF-8">
- <title></title>
- </head>
- <body>
- <h1>Калькулятор в PHP</h1>
- <!--Форма калькулятора-->
- <!--Отобразим ошибки здесь-->
- <!--Если массив ошибок не пустой-->
- <?php if (!empty($errors)): ?>
- <!--С помощью цикла foreach по нему функцию и каждую ошибочку выведем-->
- <?php foreach ($errors as $error): ?>
- <p><?php echo $error; ?></p>
- <?php endforeach; ?>
- <?php endif; ?>
- <form action="/index.php" method="post">
- <input type="text" name="num1" value="" />
- <select name="op">
- <option name="pl">+</option>
- <option name="mi">-</option>
- <option name="ym">*</option>
- <option name="del">/</option>
- </select>
- <input type="text" name="num2" value="" />
- <input type="submit" value="=">
- </form>
- <!--Если не равен пустой строке result-->
- <?php $op = $_POST['op'];
- $pl = $_POST['pl'];
- $mi = $_POST['mi'];
- $ym = $_POST['ym'];
- $del = $_POST['del'];
- ?>
- <p>Результат:</p>
- <?php
- switch ($result) {
- case $pl:
- $op = $num1 + $num2;
- break;
- case $mi:
- $op = $num1 - $num2;
- break;
- default:
- echo 'ничего не понял';
- break;
- }
- echo $op;
- ?>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement