X   Сообщение сайта
(Сообщение закроется через 3 секунды)



 

Здравствуйте, гость (

| Вход | Регистрация )

Открыть тему
Тема закрыта
> Мини-калькулятор
romantik2011
romantik2011
Topic Starter сообщение 14.9.2011, 15:02; Ответить: romantik2011
Сообщение #1


[PHP]<?php
// Проверим, была ли форма отправлена
if(
isset($_POST['num1']) && is_numeric($_POST['num1']) &&
isset($_POST['num2']) && is_numeric($_POST['num2']) &&
isset($_POST['operator']) && !empty($_POST['operator'])
){
// Отфильтруем полученные значения
$num1 = $_POST['num1'] * 1;
$num2 = $_POST['num2'] * 1;
$operator = $_POST['operator'];

// Создадим переменную для хранения результата вычисления
$output = "$num1 $operator $num2 = ";

// В зависимости от оператора будем выполнять разные математические действия
switch ($operator){
case '+':
$output .= $num1 + $num2; break;
case '-':
$output .= $num1 - $num2; break;
case '*':
$output .= $num1 * $num2; break;
case '/':
// В случае деления не забываем проверить,
// чтобы делитель не был равен нулю
if($num2 == 0){
$output = 'Деление на ноль запрещено!';
}else{
$output .= $num1 / $num2;
}
break;
default:
$output = "Неизвестный оператор '$operator'";
}

}
?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ru" lang="ru">
<head>
<title>Калькулятор</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
</head>
<body>

<h1>Калькулятор</h1>

<?php
// Если результат существует, выводим его
if(isset($output)){
print "<p>Результат: $output</p><hr />";
}
?>

<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">

Число 1:<br />
<input type="text" name="num1" /><br /><br />

Оператор:<br />
<input type="text" name="operator" /><br /><br />

Число 2:<br />
<input type="text" name="num2" /><br /><br />

<input type="submit" value="Считать!" />

</form>

</body>
</html>[/PHP]

Объясните вот этот кусок кода, в чем его смысл?
[PHP]
if(
isset($_POST['num1']) && is_numeric($_POST['num1']) &&
isset($_POST['num2']) && is_numeric($_POST['num2']) &&
isset($_POST['operator']) && !empty($_POST['operator'])
){
[/PHP]
и вот это ещё смущает:
[PHP] !empty($_POST['operator'])[/PHP]

Смущает очень вот эта запись.
[PHP] $output = "$num1 $operator $num2 = ";[/PHP]
Три переменные присваиваются одной что ли?
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
thesat
thesat
сообщение 14.9.2011, 15:18; Ответить: thesat
Сообщение #2


[PHP]if( // если
isset($_POST['num1']) // переменная1 имеет значение
&& is_numeric($_POST['num1']) // переменная1 является числом
&& isset($_POST['num2']) // переменная2 имеет значение
&& is_numeric($_POST['num2']) // переменная2 является числом
&& isset($_POST['operator']) // переменная имеет значение
&& !empty($_POST['operator']) // переменная "не пустая"
){[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
romantik2011
romantik2011
Topic Starter сообщение 14.9.2011, 15:23; Ответить: romantik2011
Сообщение #3


Скажите, вот эта запись !empty($_POST['operator'])
равносильна этой isset($_POST['operator'])?
Меня просто смущает восклицательный знак в эмпти.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
thesat
thesat
сообщение 14.9.2011, 15:32; Ответить: thesat
Сообщение #4


[PHP]
$string = null; // переменная не назначена
$string = ""; // переменная назначена, переменная пуста ( empty($string)==true; )
[/PHP]

Восклицательный знак придает выражению противоположное значение, т.е. "empty" - пусто, "!empty" - НЕ пусто. "==" - равно, "!=" - не равно, и т.д.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
..::Silence::..
..::Silence::..
сообщение 20.9.2011, 11:22; Ответить: ..::Silence::..
Сообщение #5


(romantik2011 @ 14.9.2011, 18:02) *
Смущает очень вот эта запись.
1

$output = "$num1 $operator $num2 = ";

Три переменные присваиваются одной что ли?


В переменной $output содержится строка, в которой должно получиться выражение, например, 2 + 3 =, где $num1 - это 2, $operator - +, $num2 - 3
Само название переменной $output говорит за себя.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sapr
Sapr
сообщение 1.8.2012, 14:04; Ответить: Sapr
Сообщение #6


теорию нужно подучить вам, батенька)
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Sapr
Sapr
сообщение 1.8.2012, 14:05; Ответить: Sapr
Сообщение #7


да и может не стоит делать так $output
может где надо просто вывести и все
а зачем создавать лишнюю переменную

Замечание модератора:
Эта тема была закрыта автоматически ввиду отсутствия активности в ней на протяжении 100+ дней.
Если Вы считаете ее актуальной и хотите оставить сообщение, то воспользуйтесь кнопкой
или обратитесь к любому из модераторов.
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

> Похожие темы

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Делаю мини сайты под Алиэкспресс
0 abafons 1345 8.7.2022, 16:49
автор: abafons
Открытая тема (нет новых ответов) Кальку, точнее калькулятор в строительной тематике
Нужен PHP код
1 MihalychAIP 896 20.4.2022, 2:04
автор: sergogogo
Открытая тема (нет новых ответов) Бесплатный мини-аудит вашего сайта
Небольшие аудиты интернет-магазинов за отзывы
17 kmddru 9711 31.12.2020, 11:22
автор: kmddru
Открытая тема (нет новых ответов) Нужны мини-статьи на постоянной основе (40р/1000зн)
Компьютерная и мобильная тематика (Windows, Mac, iOS, Android)
7 phant 4895 29.9.2019, 20:23
автор: A_Lika
Открытая тема (нет новых ответов) Ищется программист. Создать калькулятор цен на сайте
JS | DLE
0 Mukis 1662 1.4.2019, 15:24
автор: Mukis


 



RSS Текстовая версия Сейчас: 28.3.2024, 23:10
Дизайн