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



 

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

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

5 страниц V   1 2 3 4 5 >
Открыть тему
Тема закрыта
> Ошибка в if...else
dimjan4
dimjan4
Topic Starter сообщение 14.12.2008, 14:13; Ответить: dimjan4
Сообщение #1


Я тут начал изучать php , сделал свою первую функцию IF-ELSE и умудрился допустить где то ошибку, я буду очень признателен, если вы её найдёте и объясните что я сделал не так...
[PHP]<html>
<head>
</head>
<body>
<?

if ($age > 18 )
{
print "Вы можете работать";
}
else
{
print "Вы не можете работать<br>";
print "Подождите:";
$god = 18 - $age;
print $god;
print "$let";
}




/* */


if($god = 1)
{
$let = "год";
}
else {}


/* */

if($god = 2 or $god = 3 or $god = 4 )
{
$let =" года";
}
else {}


/* */
if($god = 5 or $god = 6 or $god = 7 or $god = 8 or $god = 9 or $god = 10 or $god = 11 or $god = 12 or $god = 13 or $god = 14 or $god = 15 or $god = 16 or $god = 17 or $god = 18)
{
$let = "лет";
}
else {}




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

У меня не выводится переменная [PHP]$let[/PHP]

Заранее спасибо.
0
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 14.12.2008, 14:26; Ответить: dimjan4
Сообщение #2


Переменную age я задаю в браузерной строке: http://localhost/?age=10
и мне кажется, что тут [PHP]if($god = 5 or $god = 6 or $god = 7 or [/PHP]

надо писать так [PHP]if($god == 5 or $god == 6 or $god == 7 [/PHP]

Я прав??
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Azalis
Azalis
сообщение 14.12.2008, 14:31; Ответить: Azalis
Сообщение #3


А если совсем пристойно, то так:
[PHP]
<?php
$god = 18 - $age;

if ( ($god > 1) && ($god <= 4) )
{
$let = " года";
}
elseif ( ($god > 4) && ($god <= 18) )
{
$let = " лет";
}

if ($age > 18)
{
print "Вы можете работать";
}
else
{
print "Вы не можете работать<br>";
print "Подождите:".$god.$let;
}
?>
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Azalis
Azalis
сообщение 14.12.2008, 14:32; Ответить: Azalis
Сообщение #4


(dimjan4 @ 14.12.2008, 16:26) *
Переменную age я задаю в браузерной строке: http://localhost/?age=10
и мне кажется, что тут [PHP]if($god = 5 or $god = 6 or $god = 7 or [/PHP]

надо писать так [PHP]if($god == 5 or $god == 6 or $god == 7 [/PHP]

Я прав??


да.
прошу прощения, сам на это внимания не обратил, тебя просто скопировал и даж не проверил...
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 14.12.2008, 14:36; Ответить: dimjan4
Сообщение #5


Azalis,я понимаю, что можно как ты сделал, но я хочу свой скрипт довести до ума и понять почему он не работает!
На данный момент у меня такой скрипт (жалко не рабочий)
[php]<html>
<head>
</head>
<body>
<?

/* */


if($god == 1)
{
$let = "год";
}
else {}


/* */

if($god == 2 or $god == 3 or $god == 4 )
{
$let =" года";
}
else {}


/* */
if($god == 5 or $god == 6 or $god == 7 or $god == 8 or $god == 9 or $god == 10 or $god == 11 or $god == 12 or $god == 13 or $god == 14 or $god == 15 or $god == 16 or $god == 17 or $god == 18)
{
$let = "лет";
}
else {}


if ($age > 18 )
{
print "Вы можете работать";
}
else
{
print "Вы не можете работать<br>";
print "Подождите:";
$god = 18 - $age;
print $god;
print "$let";
}




/* */


if($god == 1)
{
$let = "год";
}
else {}


/* */

if($god == 2 or $god == 3 or $god == 4 )
{
$let =" года";
}
else {}


/* */
if($god == 5 or $god == 6 or $god == 7 or $god == 8 or $god == 9 or $god == 10 or $god == 11 or $god == 12 or $god == 13 or $god == 14 or $god == 15 or $god == 16 or $god == 17 or $god == 18)
{
$let = "лет";
}
else {}




?>
</body>
</html>[/php]


По идеи у меня почти тоже самое что и у тебя, просто расписан длинее....
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Azalis
Azalis
сообщение 14.12.2008, 14:45; Ответить: Azalis
Сообщение #6


Говорюж: переменная $god должна быть объявлена ДО использования... А ты её сначала сравниваешь со всеми возможными результатами, а уже потом присваиваешь ей хзначение... Логично, что ей сравниваться не с чем, в ней ничего нету...
[php]
<?php

$god = 18 - $age;

if($god == 1)
{
$let = "год";
}

if( ($god == 2) or ($god == 3) or ($god == 4) )
{
$let =" года";
}

if( ($god == 5) or ($god == 6) or ($god == 7) or ($god == 8) or ($god == 9) or ($god == 10) or ($god == 11) or ($god == 12) or ($god == 13) or ($god == 14) or ($god == 15) or ($god == 16) or ($god == 17) or ($god == 18) )
{
$let = "лет";
}
else {}

if ($age > 18 )
{
print "Вы можете работать";
}
else
{
print "Вы не можете работать<br>";
print "Подождите:";
print $god;
print $let;
}

?>
[/php]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 14.12.2008, 14:56; Ответить: dimjan4
Сообщение #7


Ну вот спс ! Теперь на всю жизнь запомню ф-цию if-else!:sarcastic:
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 14.12.2008, 15:02; Ответить: dimjan4
Сообщение #8


А как сделать вверху форму?? Просто если добавить форму сверху, скрипт не будет ждать, а выдаст ошибку , т.к переменной $age не было на тот момент....
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
Azalis
Azalis
сообщение 14.12.2008, 15:14; Ответить: Azalis
Сообщение #9


[PHP]
<?php
if (empty($age))
{
// Если переменная $age отсутствует, то выводим код формы
?>
тут вставляешь html код формы
<?php
}
else
{
// Иначе производим проверки

$god = 18 - $age;

if($god == 1)
{
$let = "год";
}

if( ($god == 2) or ($god == 3) or ($god == 4) )
{
$let =" года";
}

if( ($god == 5) or ($god == 6) or ($god == 7) or ($god == 8) or ($god == 9) or ($god == 10) or ($god == 11) or ($god == 12) or ($god == 13) or ($god == 14) or ($god == 15) or ($god == 16) or ($god == 17) or ($god == 18) )
{
$let = "лет";
}
else {}

if ($age > 18 )
{
print "Вы можете работать";
}
else
{
print "Вы не можете работать<br>";
print "Подождите:";
print $god;
print $let;
}

}
?>
[/PHP]
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
dimjan4
dimjan4
Topic Starter сообщение 14.12.2008, 15:58; Ответить: dimjan4
Сообщение #10


И ещё у меня возник вопрос...смотрите:
я хочу сделать калькулятор, что мне надо поставить между переменных?
[PHP]$otvet = $number1 (здесь) $znak (здесь) $number2;
print"$otvet";[/PHP]

Если поставить так:
[PHP] $otvet = $number1 . $znak . $number2;
print"$otvet"; [/PHP]

то скрипт выдаёт ,например, 2+2
Вернуться в начало страницы
 
Ответить с цитированием данного сообщения
5 страниц V   1 2 3 4 5 >
Открыть тему
Тема закрыта
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0


Свернуть

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

  Тема Ответов Автор Просмотров Последний ответ
Открытая тема (нет новых ответов) Каталог открывается как ошибка 404 в hostcms
0 cheshire 3254 2.7.2018, 11:09
автор: cheshire
Открытая тема (нет новых ответов) Учусь создавать шаблон для Joomla 2.5 Ошибка в файле index.php
3 Musicathome 6626 26.7.2013, 20:20
автор: -Сабж-
Открытая тема (нет новых ответов) Редирект, установка консультации на сайт и ошибка в коде
2 samgul 4064 27.2.2013, 17:22
автор: -HTMLandPHP-
Открытая тема (нет новых ответов) Помогите, в чём ошибка?
0 atamvova 4945 14.2.2013, 21:11
автор: -atamvova-
Открытая тема (нет новых ответов) Ошибка при переходе на сайт!
1 Steve_Fox 2827 9.10.2012, 18:34
автор: -Blink-


 



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