DWWEB.RU
СКРИПТЫ

Второй калькулятор на php

Мы уже делали один раз калькулятор на php , и мы решили не добавлять к уже созданной странице ещё один раздел о создании калькулятора, а выделить второй калькулятор в отдельную страницу.
НО! Ещё мы делали калькулятор на Яваскриптах – даже выделили его в отдельны поддомен…

Начнем с того, что в какое-то утро я проснулся и подумал, что про калькулятор то мы написали, но это был калькулятор – повторение пройденного, и я просто повторил один из уроков, который прошел во время изучения php.

И самое, что мне не очень понравилось в том калькуляторе, что слишком много кнопок и с моей точки зрения –он просто не удобен.

И видео сняли на тему простого калькулятора


Задача: Создать калькулятор в одну строчку.

Необходимо сделать калькулятор на php в одну строчку – эта строчка будет строкой ввода данных.

В ней мы вводим, к примеру 1 + 1 и по нажатию кнопки отправить действие должно совершиться и вывести ответ данного действия.

Решение:

Какие будут предложения!?

Я предлагаю такое решение – прежде чем решать какую-то задачу, надо себя спросить, что у этих, получается четырех(+,-,*,/,) действий одинаковое, а что разное.

Одинаковое, что у всех этих действий есть – собственно действие(+,-,*,/,) вот по нему то мы и будем делить те данные, которые отправит нам пользователь.

Перед формой нам нужно получить данные в переменную «dat» и почистим её с помочью функции «strip_tags» от html и php тегов.

И теперь создадим 4 строчки кода, в которых разделим с помощью фукции explode полученные данные по-нашему делителю(separator) – делитель будет одним из 4 наших действий(+,-,*,/,).

Подавим ошибки с помощью @. Зачем вы должны спросить, подавлять ошибку, потому, что если действие в строке вводимое пользователем не будет равно сепаратору, то произойдет ошибка.

Ну и в конце у нас получится вот такой код:

$dat = strip_tags($_POST['number']);

$dat_p =  @explode('+', $dat);

$dat_m =  @explode('-', $dat);

$dat_d =  @explode('/', $dat);

$dat_u =  @explode('*', $dat);

Далее нам нужно обработать полученные данные в условии.

Если функция explode сработала, то мы получим массив из двух ячеек, и проверим существует ли вторая ячейка «isset($переменная[1]», которая обозначается - [1]. Напоминаю, что счет в массиве начинается с нуля, т.е. первая ячейка имеет обозначение [0]

И естественно, что делить на ноль нельзя, то мы должны в переменной $dat_d[1] при делении проверить на ноль.

if(isset($dat_p[1])){ echo  $dat_p[0] + $dat_p[1]; }  

if(isset($dat_m[1])){ echo  $dat_m[0] - $dat_m[1]; }  

if(isset($dat_u[1])){ echo  $dat_u[0] * $dat_u[1]; } 

if(isset($dat_d[1])){if(trim($dat_d[1]) == '0'){echo 'Делить на ноль нельзя';} else { echo  $dat_d[0] / $dat_d[1];}} 

Создадим самую простую форму с одним полем и второй кнопкой:

Код:

<form action="" method="post">

    <input type="text" name="number">

    <input type="submit" name="submit" value="submit">

</form>

Ну и далее введите любое действие в строке и получите результат:


Полный листинг:

if(isset($_POST['number']))

{

$dat = strip_tags($_POST['number']); 

$dat_p =  @explode('+', $dat);

$dat_m =  @explode('-', $dat);

$dat_u =  @explode('*', $dat);

$dat_d =  @explode('/', $dat);

if(isset($dat_p[1])){ echo  $dat_p[0] + $dat_p[1]; }  

if(isset($dat_m[1])){ echo  $dat_m[0] - $dat_m[1]; }  

if(isset($dat_u[1])){ echo  $dat_u[0] * $dat_u[1]; } 

if(isset($dat_d[1])){if(trim($dat_d[1]) == '0'){echo 'Делить на ноль нельзя';} else { echo  $dat_d[0] / $dat_d[1];}} 

}

<form action="" method="post">

    <input type="text" name="number">

    <input type="submit" name="submit" value="submit">

</form>
Не забудь !
Оставить комментарийCOMMENTS+
Сообщений пока нет - Вы можете стать первым
BBcode
нажмите, чтобы загрузить аватар
Загрузить свой аватар(max ширина, высота = 100px) ( как это работает)

Закрыть
+ =
Подписаться
Теги:
второй калькулятор на php

НАШИ ПРОЕКТЫ : Проекты находятся в разной степени готовности (просто их столько, что времени не хватает…) Все статьи авторские, при копироавании активная ссылка обязательна DwWeb.ru! © 2015 - 2019