Перейти к содержимому

Как написать калькулятор на php

  • автор:

Калькулятор html + php

Изучая php, решил написать простой калькулятор на php. Имеются два input для двух значений, select для выбора математической операции и submit . Вопрос в том, как используя select + option , можно отправить значение математического оператора PHP и в дальнейшем организовать работу калькулятора с показом на отдельной странице ( result.php к примеру) html:

Отслеживать
задан 20 окт 2019 в 19:31
Stepan Berkunov Stepan Berkunov
98 1 1 золотой знак 2 2 серебряных знака 14 14 бронзовых знаков
У вас же есть value выбранного option, в чем проблема?
Commented 20 окт 2019 в 19:48
в result.php
Commented 20 окт 2019 в 23:55

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

Грубо, но примерно так:

$result = 0; if (isset($_POST['submit'])) < if ($_POST['math-op'] == 'addition') < $result = $_POST['first-value'] + $_POST['second-value']; >elseif ($_POST['math-op'] == 'subtraction') < $result = $_POST['first-value'] - $_POST['second-value']; >elseif ($_POST['math-op'] == 'multiplication') < $result = $_POST['first-value'] * $_POST['second-value']; >elseif ($_POST['math-op'] == 'division') < $result = $_POST['first-value'] / $_POST['second-value']; >echo $result; > 

Отслеживать
ответ дан 21 окт 2019 в 7:59
1,437 1 1 золотой знак 13 13 серебряных знаков 22 22 бронзовых знака

  • php
  • html
  • php7
    Важное на Мете
Похожие

Подписаться на ленту

Лента вопроса

Для подписки на ленту скопируйте и вставьте эту ссылку в вашу программу для чтения RSS.

Дизайн сайта / логотип © 2024 Stack Exchange Inc; пользовательские материалы лицензированы в соответствии с CC BY-SA . rev 2024.6.14.10983

Калькулятор на PHP

В этой статье мы рассмотрим создание простого калькулятора на языке программирования PHP. Калькулятор позволит выполнять базовые математические операции, такие как сложение, вычитание, умножение и деление. Давайте начнем!

Шаг 1: Настройка HTML-формы Первым шагом будет создание HTML-формы, которая будет отображаться на веб-странице. Форма будет содержать поле для ввода первого числа, поля для выбора операции и поле для ввода второго числа. При отправке формы, данные будут передаваться скрипту PHP для выполнения операции.

Шаг 2: Создание скрипта PHP После настройки HTML-формы перейдем к созданию скрипта PHP, который будет обрабатывать данные, полученные из формы. Скрипт будет считывать значения из полей формы, выполнять выбранную операцию и выводить результат на экран.

Пример кода PHP для выполнения операции над числами:

 // Считываем значения из полей формы $num1 = $_POST['num1']; $num2 = $_POST['num2']; $operation = $_POST['operation']; // Выполняем выбранную операцию и выводим результат switch ($operation)  case 'add': $result = $num1 + $num2; break; case 'subtract': $result = $num1 - $num2; break; case 'multiply': $result = $num1 * $num2; break; case 'divide': $result = $num1 / $num2; break; default: $result = "Неверная операция"; break; > echo "Результат: " . $result; ?> 

Шаг 3: Связывание HTML-формы с PHP-скриптом Вернемся к HTML-форме и настроим отправку данных в наш PHP-скрипт при нажатии кнопки «Рассчитать». Для этого добавим атрибут action в открывающий тег указав путь к нашему PHP-скрипту.

formaction="calc.php"method="POST"> inputtype="submit"value="Рассчитать"> form> 

Шаг 4: Тестирование После завершения кодирования можно запустить проект и протестировать работоспособность калькулятора. Введите числа, выберите операцию и нажмите кнопку «Рассчитать». Результат операции должен быть выведен на экран.

Поздравляю! Вы успешно создали простой калькулятор на языке программирования PHP. Этот калькулятор позволит пользователям выполнять базовые математические операции на веб-странице.

Обратите внимание, что данный пример является простым и не учитывает обработку ошибок, таких как деление на ноль. Рекомендуется продолжить развитие этого проекта, добавив соответствующие проверки и обработку ошибок.

Помогите написать PHP для интерактивного калькулятора с использование рафаэля

Есть очень классный калькулятор расчета грузоподъемности автокрана с использованием библиотеки raphael. Вот ссылка на рабочий пример: https://www.hydroservice-spb.ru/calculator/ Хочу сделать такой же. Почти получилось — стрела крана двигается, значения считываются, НО! осталось написать php-файл который выполняет функцию фильтрации по заданным параметрам — в примере в файле js идет обращение к php-файлу где собственно и происходит вся магия. Ссылка на JS-скрипт: https://www.hydroservice-spb.ru/wp-content/themes/engines/assets/js/podbor.js Вот его фрагмент (в самом конце файла podbor.js)

jQuery(function($) < $('#buttonPodbor2').click(function()< var visota = $('input[name="visota"]').val(); var ydalenie = $('input[name="ydalenie"]').val(); var vesGruza = $('input[name="vesGruza"]').val(); $.ajax(< type: "POST", url: "/ajax/filter.php", data: >) .done(function( result )< $("#ListAvtokran2").html(result); $('#buttonPodbor2').text('Подобрать кран'); >); >); >); 

В php не силен, может кто подскажет, что должно быть в файле filter.php?
Отслеживать
user262779
задан 26 ноя 2018 в 11:30
Алексей Кокорев Алексей Кокорев
1 1 1 бронзовый знак

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Скорее всего в файле /ajax/filter.php (куда идет ajax запрос и отправляются данные, выбранные пользователем) происходит выборка из базы данных по параметрам, которые пришли в массив $_POST от клиента. Потом, возможно, в цикле (если в выборке есть результаты) создается HTML, который и возвращается и далее это HTML вставляется в блок с .

Отслеживать
ответ дан 26 ноя 2018 в 11:43
MasterMiMiKi MasterMiMiKi
69 4 4 бронзовых знака

Да, это логично. Был бы очень признателен если бы скинули примерный черновик как делать эту самую выборку из БД по параметрам, пришедшим из массива $_POST

PHP / начало. калькулятор

даны кнопки ПЛЮС И МИНУС 2 строки числа кнопка РЕЗУЛЬТАТ строка с Результатом как написать,чтоб после того как я ввел 2 числа,нажал ПЛЮС,мне выводилось то же самое(то есть формы заполнены,кроме результата), но php понял,что я Нажал плюс, а лишь потом НАЖИМАЮ результат и выводиться РЕЗУЛЬТАТ в СТРОКУ (type=»text»)?

Отслеживать
9,350 3 3 золотых знака 25 25 серебряных знаков 44 44 бронзовых знака
задан 23 сен 2013 в 9:21
97 5 5 серебряных знаков 13 13 бронзовых знаков

Я когда начинал * овнокодить, мне и в голову не приходило делать калькулятор. имхо не лучшая практика!

Commented 23 сен 2013 в 10:00

2 ответа 2

Сортировка: Сброс на вариант по умолчанию

Надо данные, которые пришли из формы обратно вставить в форму.

if(isset($_POST['a']) && isset($_POST['b'])) '> '>

P.S.: a,b — это имена слагаемых, подставьте свои имена вместо них.

Отслеживать
ответ дан 23 сен 2013 в 9:26
v.j.melnikov v.j.melnikov
7,961 2 2 золотых знака 22 22 серебряных знака 35 35 бронзовых знаков

«но php понял,что я Нажал плюс. » Боюсь, что здесь должен понимать не PHP, а Вы должны понимать как происходит взаимодействие клиентской и серверной частей приложения.

PHP скрипт примет переменную (со знаком сложения, вычитания и т.д.) и если у него нет дальнейших инструкций, весело и непринужденно завершит свою работу, забыв все, что ему там передавали. Соответственно необходимо эту переменную либо как-то сохранить (сессия, БД и т.д.), либо отдать обратно пользователю на экран и учесть при повторном запросе.

Как определить, что был нажат именно «ПЛЮС», а не расчет результата, тут просто:

Форма может содержать несколько кнопок типа «submit», и при нажатии на определенную кнопку она передаст именно свое значение. То есть, если в данной форме будет нажата кнопка «+», в скрипте «test.php» значение $_REQUEST[‘action’] будет равно «+»; если будет нажата кнопка «рассчитать» — $_REQUEST[‘action’] будет равно «рассчитать» и т.д.

Ну, как понять какое именно было действие я рассказал. Остальное сами.

Критику ответа приветствую.

И это все при том условии, если вообще есть необходимость известить сервер заранее о предстоящих манипуляциях с числами. В противном случае, знак можно подставлять с помощью js в скрытое поле и отправлять на сервер непосредственно при нажатии кнопки «рассчитать».

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *