К списку форумов К списку вопросов
PHP if, endif, else ругается! помогите !!!
ZeeD
10.06.2004 - 21:49
Примерная строчка кода:
<?
$date=date(d);
if ($date == 10);
{
  print "да, седня 10-е число!"
}
else :
{
  Print "Нет, нифига, седня $date"
}
endif;
?>
Все время браузер мне выдает ошибку, что класс T_ELSE дурной, или прото error on line xxx. В чем проблема?
P.S PHP я знаю всего 2 дня, так что не пишите LOOLLL!!!!, LAMER!!!!.
Cool
1 - 10.06.2004 - 23:21
if ($date == "10")
{
  print "да, седня 10-е число!";
}
else
{
  Print "Нет, нифига, седня $date";
}
Ищи 10 отличий :)
Если хочешь совет, то езжай в самый большой книжный магазин в твоем городе и выбери книжку по ПХП, да такую, в которой примеров побольше. Книжка по программированию без примеров это не книжка
P.S. ты наверное имел ввиду, что 2 дня учишь пхп...
Mips
2 - 11.06.2004 - 06:00
...или
if ($date==10):
  echo "да, седня 10-е число!";
else:
  echo "Нет, нифига, седня ".date("d-m-Y");
endif;
 
...или
if ($date==10) echo "да, седня 10-е число!";
else echo "Нет, нифига, седня ".date("d-m-Y");
 
...или ваще
echo ($date==10?"да, седня 10-е число!":"Нет, нифига, седня ".date("d-m-Y"));
ГрязныйПроходимец
3 - 11.06.2004 - 09:06
У тебя if ($date == 10); содердит вместо ":" знак ";"
Windowoz
4 - 11.06.2004 - 09:27
Кстати о знаках ":" и ";" ...
Цитата из книги про инструкцию if-else
if(логическое_выражение)
   инструкция_1;
else
   инструкция_2;
Другой пример
if(логическое_выражение):
   инструкция_1;
elseif(другое_логическое_выражение):
   другие_команды;
else:
   иначе_команды;
endif;
От автора: "Обратите внимание на расположение двоеточия (:)!
Опечатка в книге? Ошибка автора? Или двоеточие ставится только во вложенных циклах?
Windowoz
5 - 11.06.2004 - 09:49
Поэкспериментировал я тут по этому поводу и получается, что Cool и Mips как раз и ответили на этот вопрос.
Cool
6 - 11.06.2004 - 11:11
Правильно все в книжке, можно писать
if(...):
action...
else(if)(...):
action...
endif;
Но у автора первого поста катострофически не хватает ; после принтов :)
ZeeD
7 - 11.06.2004 - 22:09
просто я забыл их написать :)
но в чем моя ошибка???
гик
8 - 12.06.2004 - 19:19
в ДНК %)
Windowoz
9 - 12.06.2004 - 19:46
ZeeD .... поэкспериментируй с ":" после инструкции if и else
см. пост 5 ... далее 1 и 2
и не забывай про ";"
Zeratul
10 - 13.06.2004 - 12:55
to Zeed: теперь скажу Я! :)
1. Ошибка, как написал ГрязныйПроходимец, у тебя в этой строке:
if ($date == 10);
";" здесь лишняя.
И здесь:
"else :" - ":" не нужно.
"endif;" тебе не нужен - ты все правильно и без него сделал - смотри пример Mips'а №1. У него абсолютно верный пример. Единственное что после print'ов ставь ";"
3. Другие варианты как написал Mips во втором посте лучше не рассматривай. Это можно, но лучше не использовать - гимору не оберешься.
------------
Запомни стандарт:
if (...)
{
 command1;
 command2;
}
else
{
 command3;
 command4;
}
mae
11 - 15.06.2004 - 10:57
А чё, у Мипса третий вариант очень даже ничего, я пользуюсь им в большинстве случаев

К списку вопросов на форуме Веб-дизайн

>>