<?php
echo "<form action='index.php' method='get'>";
echo "<br/>";
echo "<input type='text' name='n'/>";
echo "<input type='text' name='k'/>";
echo "<input type='submit' value='Нажать'/>";
$a = $_GET['n'];
$b = $_GET['k'];
$c = $a + $b;
if($c = 5)
{
echo "Верно";
}
elseif($с = 4)
{
echo "не правильно";
}
else
{
echo "Нормуль";
}
?>
Весь код в одном файле.
Спустя 6 минут, 39 секунд (9.01.2011 - 18:02) twin написал(а):
Два равно надо
Спустя 3 минуты, 54 секунды (9.01.2011 - 18:06) andreisurger написал(а):
А точно. Проверил, что тог не работает когда ввожу 2 и 2. Выводит Нормуль??
Спустя 1 минута, 51 секунда (9.01.2011 - 18:08) sharki написал(а):
$с = 4 это знак присваивания т.е пеерменной $c присвоить 4, $с == 4 а это означает что $c равно 2.
И вообще возьми книжку, и дочитай до конца!
И вообще возьми книжку, и дочитай до конца!
Спустя 52 секунды (9.01.2011 - 18:09) alex12060 написал(а):
Цитата |
А точно. Проверил, что тог не работает когда ввожу 2 и 2. Выводит Нормуль?? |
По Русски и с запятыми)
Спустя 20 секунд (9.01.2011 - 18:09) Invis1ble написал(а):
andreisurger
в условиях (обоих) оператор сравнения == нужен, а не оператор присваивания =
в условиях (обоих) оператор сравнения == нужен, а не оператор присваивания =
Спустя 3 минуты, 29 секунд (9.01.2011 - 18:13) andreisurger написал(а):
Я исправил оператор присваивания на опрератор сравнения. После этого проверил скрипт в работе. при вводе в форму 2 и 3 выводит первое условие, а при вводе 2 и 2 третье, хотя должен второе.
Спустя 56 секунд (9.01.2011 - 18:14) andreisurger написал(а):
Вот переделанный код
<?php
echo "<form action='index.php' method='get'>";
echo "<br/>";
echo "<input type='text' name='n'/>";
echo "<input type='text' name='k'/>";
echo "<input type='submit' value='Нажать'/>";
$a = $_GET['n'];
$b = $_GET['k'];
$c = $a + $b;
if($c == 5)
{
echo "Верно";
}
elseif($с == 4)
{
echo "не правильно";
}
else
{
echo "Нормуль";
}
?>
Спустя 6 минут, 17 секунд (9.01.2011 - 18:20) sergeiss написал(а):
Тебе еще не хватает блока, где идет оценка "были ли вообще переданы данные". Проблема в том, что при первом запуске скрипта данных передано не будет, а в твоем коде все равно что-то будет выведено.
Что-то типа такого надо (для $b аналогично):
Я тебе не полный код написал, а только часть, как подсказку.
Что-то типа такого надо (для $b аналогично):
$a = isset( $_GET['n'] ) ? $_GET['n'] : false;
//и дальше надо проверять, что
if( $a !== false ) // это говорит о том, что что-то было передано, может быть и ноль
Я тебе не полный код написал, а только часть, как подсказку.
Спустя 42 секунды (9.01.2011 - 18:21) Invis1ble написал(а):
andreisurger
у тебя там во втором условии буква "с" русская
у тебя там во втором условии буква "с" русская
Спустя 8 минут, 16 секунд (9.01.2011 - 18:29) andreisurger написал(а):
И правда русская оказалась.
Спустя 55 секунд (9.01.2011 - 18:30) inpost написал(а):
andreisurger
покажи код!
покажи код!
Спустя 3 минуты, 57 секунд (9.01.2011 - 18:34) andreisurger написал(а):
Разобрался вроде. Правда сделал немного по другому:
<?php
echo "<form action='index.php' method='get'>";
echo "<br/>";
echo "<input type='text' name='n'/>";
echo "<input type='text' name='k'/>";
echo "<input type='submit' value='Нажать'/>";
$a = $_GET['n'];
$b = $_GET['k'];
$c = $a + $b;
if ($a and $b){
if($c == 5)
{
echo "Верно";
}
elseif($c == 4)
{
echo "не правильно";
}
else
{
echo "Нормуль";
}
}
?>
Спустя 1 час, 32 минуты, 41 секунда (9.01.2011 - 20:07) andreisurger написал(а):
Спасибо всем. Попробую калькулятор написать простенький. Надо же как то практиковаться.
Спустя 2 часа, 16 минут, 13 секунд (9.01.2011 - 22:23) sergeiss написал(а):
andreisurger - только ты в своем коде не учел то, что я написал.
Спустя 16 минут, 27 секунд (9.01.2011 - 22:39) andreisurger написал(а):
Так я же это добавил:
if ($a and $b)
Почти идентично. Только в конце не добавил else.
if ($a and $b)
Почти идентично. Только в конце не добавил else.
Спустя 52 секунды (9.01.2011 - 22:40) twin написал(а):
Цитата |
andreisurger - только ты в своем коде не учел то, что я написал. |
Почему? Там четко прописано - "Нормуль"
Спустя 3 минуты, 28 секунд (9.01.2011 - 22:44) andreisurger написал(а):
Хотя else есть. Мне больше понятен синтаксис if else
Спустя 2 минуты, 39 секунд (9.01.2011 - 22:46) Invis1ble написал(а):
andreisurger
прочти еще раз пост sergeiss и попробуй понять, что он тебе хотел сказать )
прочти еще раз пост sergeiss и попробуй понять, что он тебе хотел сказать )
Спустя 12 часов, 40 минут, 9 секунд (10.01.2011 - 11:26) andreisurger написал(а):
$a = isset( $_GET['n'] ) ? $_GET['n'] : false;
//и дальше надо проверять, что
if( $a !== false ) // это говорит о том, что что-то было передано, может быть и ноль
Насколько я понял из книг этот код можно разобрать так.
Если передано значение n, то a присвоено значение n, иначе a = false., а дальше проверять если a не равно false, то выполнить следующий код.
Но данную запись насколько я знаю можно записать с помощью конструкции if...else.
//и дальше надо проверять, что
if( $a !== false ) // это говорит о том, что что-то было передано, может быть и ноль
Насколько я понял из книг этот код можно разобрать так.
Если передано значение n, то a присвоено значение n, иначе a = false., а дальше проверять если a не равно false, то выполнить следующий код.
Но данную запись насколько я знаю можно записать с помощью конструкции if...else.
Спустя 4 часа, 27 минут, 18 секунд (10.01.2011 - 15:54) Invis1ble написал(а):
andreisurger
да, можно. sergeiss привел сокращенный вариант записи. Суть не в этом, а в том, чтобы делать проверку.
да, можно. sergeiss привел сокращенный вариант записи. Суть не в этом, а в том, чтобы делать проверку.
Спустя 1 час, 35 минут, 32 секунды (10.01.2011 - 17:29) andreisurger написал(а):
Понял спасибо.
Спустя 1 час, 50 минут, 45 секунд (10.01.2011 - 19:20) andreisurger написал(а):
Так вроде в моем коде есть проверка?
Спустя 10 минут, 6 секунд (10.01.2011 - 19:30) Invis1ble написал(а):
andreisurger
какая? на существование $_GET у тебя нет проверок
поставь в начале своего кода такую строчку:
и будешь "приятно" удивлен =)
какая? на существование $_GET у тебя нет проверок
поставь в начале своего кода такую строчку:
error_reporting(E_ALL | E_STRICT);
и будешь "приятно" удивлен =)
Спустя 6 минут, 26 секунд (10.01.2011 - 19:37) andreisurger написал(а):
Вот такую ошибку выдает
Notice: Undefined index: n
Notice: Undefined index: k
Notice: Undefined index: n
Notice: Undefined index: k
Спустя 7 минут, 4 секунды (10.01.2011 - 19:44) andreisurger написал(а):
А если вот так написать:
<?php
echo "<form action='index.php' method='get'>";
echo "<br/>";
echo "<input type='text' name='n'/>";
echo "<input type='text' name='k'/>";
echo "<input type='submit' value='Нажать'/>";
if ($_GET['n'])
{
$a = $_GET['n'];
}
if ($_GET['k'])
{
$b = $_GET['k'];
}
$c = $a + $b;
if ($a and $b){
if($c == 5)
{
echo "Верно";
}
elseif($c == 4)
{
echo "не правильно";
}
else
{
echo "Нормуль";
}
}
?>
Спустя 6 минут, 13 секунд (10.01.2011 - 19:50) Invis1ble написал(а):
andreisurger
вот именно! а проверка как раз и нужна, чтобы избежать всех этих ошибок )
вот именно! а проверка как раз и нужна, чтобы избежать всех этих ошибок )
Спустя 38 секунд (10.01.2011 - 19:50) Invis1ble написал(а):
if (isset($_GET['n'])) - такие проверки тебе нужны.
Спустя 4 минуты, 47 секунд (10.01.2011 - 19:55) Dron19 написал(а):
Цитата (Invis1ble @ 10.01.2011 - 16:50) |
if (isset($_GET['n'])) - такие проверки тебе нужны. |
на будующее:
if(isset($_GET['n']) == true) и if(isset($_GET['n'])) - идентично
Спустя 2 минуты, 38 секунд (10.01.2011 - 19:58) andreisurger написал(а):
Все теперь понял. Тогда в коде if ($a and $b) наверное лишнее?
Спустя 5 минут, 8 секунд (10.01.2011 - 20:03) andreisurger написал(а):
Хотя не лишнее. Без него выводит последнее условие.
Спустя 5 минут, 28 секунд (10.01.2011 - 20:08) andreisurger написал(а):
Dron19
Цитата |
-------------------- PHP+MySQL - уже изучил на уровне профессионала, осталось всего лишь это: C,C++,C#,JavaScript,Python,Ruby,Perl,OpenGl,DirectX,ASP.NET - Намерен учить все |
А по каким книгам учил php если не секрет?
Спустя 5 минут, 41 секунда (10.01.2011 - 20:14) DedMorozzz написал(а):
Цитата |
PHP... - уже изучил на уровне профессионала |
ммм, а это как. В моём понимании - сделать всё.
Немного оффтопа, который в тему:
Риторический вопрос, который может оказаться не риторическим - как реализовать отправку смс с сайта стран востока, по всему миру. Укажи решение
Учитывая, что профи точно всё нают..
Немного оффтопа, который в тему:
Риторический вопрос, который может оказаться не риторическим - как реализовать отправку смс с сайта стран востока, по всему миру. Укажи решение
Учитывая, что профи точно всё нают..
Спустя 7 минут, 58 секунд (10.01.2011 - 20:22) Dron19 написал(а):
Цитата (andreisurger @ 10.01.2011 - 17:08) | ||
Dron19
А по каким книгам учил php если не секрет? |
честно говоря названия я уже не помню, извини, давно их поотдавал знакомым
Спустя 1 час, 35 минут, 30 секунд (10.01.2011 - 21:58) andreisurger написал(а):
Просто я накачал разных в интернете и по ним стараюсь учить.
Спустя 50 секунд (10.01.2011 - 21:58) andreisurger написал(а):
Думал может кто посоветует самую понятную и полную.
Спустя 2 часа, 1 минута, 34 секунды (11.01.2011 - 00:00) sergeiss написал(а):
Цитата (andreisurger @ 10.01.2011 - 22:58) |
Думал может кто посоветует самую понятную и полную. |
Я посоветую
Скачай хэлп по ПХП из моей подписи, прочитай его полностью. Там ВЕСЬ ПХП. Насчет понятности... Это скорее к тебе вопрос, как ты воспринимаешь.
Спустя 11 часов, 57 минут, 49 секунд (11.01.2011 - 11:58) andreisurger написал(а):
Я люблю когда все расписано по пунктам. Что и для чего в скрипте написано.
Спустя 34 секунды (11.01.2011 - 11:58) andreisurger написал(а):
А по-русски нет?