Введите значения в окошки и нажмите на кнопку интересующей вас математической операции. Есть баг, когда первый раз зайдёте на страницу там будет что вы ввели неправильную информацию. Это ругается дефолтный блок свитча. Кнопка знака = тут неуместна и никак не используется.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 |
<?php include 'functions.php'; /* Подключили наши функции-работники, теперь ими можно пользоваться, они как бы уже здесь на этой странице */ if(isset($_POST['a']) && isset($_POST['b'])){ $operation = $_POST['operation']; //name="operation" /* Код для кнопочного варианта */ if(isset($_POST['add'])){ $operation = '+'; }elseif(isset($_POST['sub'])){ $operation = '-'; }elseif(isset($_POST['mult'])){ $operation = '*'; }else{ $operation = '/'; } /* Код для кнопочного варианта end */ } $result = get_result($_POST['a'], $_POST['b'], $operation); /* это строчка должна быть именно здесь т.к. нам нужна переменная $operation */ ?> <!DOCTYPE html> <html lang="ru"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Страница сумматора</title> <link href="css/bootstrap.min.css" rel="stylesheet"> </head> <body> <div class="container"> <div class="row"> <div class="col-md-2"> <p>Левая колонка</p> </div> <div class="col-md-8"> <br /><br /><br /><br /> <form action="sum.php" method="post"> <input type="text" name="a" value="<?=$_POST['a'] ?>" /> <!-- Классический вариант <select name="operation"> <option value="+">+</option> <option value="-">-</option> <option value="*">*</option> <option value="/">/</option> </select> --> <!-- Делаем селект красивым <select name="operation"> <option value="+" <//?php if($operation == "+") echo 'selected = "selected"'; ?>>+</option> <option value="-" <//?php if($operation == "-") echo 'selected = "selected"'; ?>>-</option> <option value="*" <//?php if($operation == "*") echo 'selected = "selected"'; ?>>*</option> <option value="/" <//?php if($operation == "/") echo 'selected = "selected"'; ?>>/</option> </select> Делаем селект красивым end--> <input type="text" name="b" value="<?=$_POST['b']/*сохраняем данные*/?>"/> <strong>= <?=$result?></strong><br /><br /> <!-- Кнопочный вариант --> <input type="submit" value="+" name="add" /> <input type="submit" value="-" name="sub" /> <input type="submit" value="*" name="mult" /> <input type="submit" value="/" name="div" /> <!-- Кнопочный вариант end--> <input type="submit" value="=" /> </form> </div> <div class="col-md-2"> <p>Правая колонка</p> </div> </div> </div> <script src="js/jquery.min.js"></script> <script src="js/bootstrap.min.js"></script> </body> </html> |
Файл index.php И 3 варианта кнопок, 2 из которых закомментированы.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
<?php /* Выносим работников, функции, в отдельный файл */ function multiplication($arg1, $arg2){ return ($arg1 * $arg2); } function addition($arg1, $arg2){ return ($arg1 + $arg2); } function subtraction($arg1, $arg2){ return ($arg1 - $arg2); } function division($arg1, $arg2){ if($arg2 !=0){ return ($arg1 / $arg2); }else{ return 'Ошибка: деление на 0'; } } function get_result($a, $b, $operation){ switch($operation){ //$operation = $_POST['operation']; case '+': $result = addition($a, $b); /* Отсюда мы обращаемся к функциям которые объявлены сверху только аргументы уже switch евские*/ break; case '-': $result = subtraction($a, $b); break; case '*': $result = multiplication($a, $b); break; case '/': $result = division($a, $b); break; default: echo "Введена неккоректная информация!"; } return $result; } ?> |
Файл functions.php
Скачать: ШП кальк
| Категория: PHP
| Тэги: PHP / калькулятор / основы / ШП