if, else, endif

Статус
В этой теме нельзя размещать новые ответы.

shefeduard

Guest
if, else, endif

PHP:
if($update == 0):
	if(strlen($voting_question) < 5):
		$error = "Вопрос - Минимум 5 символов";
	elseif($row = $db->sql_fetchrow($db->sql_query("SELECT * FROM ".$prefix."_table WHERE ...."))):
		$error = "Вопрос - Такой уже есть в базе данных";
	endif;
	if($voting_finish_date <= $date)
		$error .= "<br>Дата окончания - Введенная дата устаревшая";

>>>>>>>else:<<<<<<<< PARSE ERROR

	if(strlen($voting_question) < 5)
		$error = "Вопрос - Минимум 5 символов";
endif;
Помогите, не пойму почему пишится ошибка парсирования (в коде вылена >>><<<)???

я конечно понимаю, что могу воспользоватся другим синтаксисом if() { } esle {}

Но мне надо понять, почему с таким у меня не работает...
 

Фанат

oncle terrible
Команда форума
потому, что ты его неправильно употребляешь.
какправильно - смотри в мане
 

shefeduard

Guest
всеранвно, перечитал - не пойму...
если я напишу так
if()
####
else:
####
endif;

то будет работать... в том примере тоже так написанно!!!
 

shefeduard

Guest
if($voting_finish_date <= $date)
$error .= "<br>Дата окончания - Введенная дата устаревшая";

>>>>>>>else:<<<<<<<< PARSE ERROR

после if($voting_finish_date <= $date) - не стоит : (двоеточие)
!!!!!
ну значит что else: относится не к ней... а к главной if($update == 0):

-~{}~ 25.02.06 18:26:

PHP:
if($update == 0): 
    if(): 
        ####
    elseif(): 
        #### 
    endif; 
    if() // двоеточния нету, значит читается только одна операция ####
        ####

else: // относится к if($update == 0): 

    if() 
        ####
endif;
-~{}~ 25.02.06 18:36:

Автор оригинала: Фанат
купи себе очки.
в примере не так написано
а че сразу грубить то?:mad:
зрение тут не причем...

вроде форум, что бы помочь, вопроса тут такого нету, это первый!

ответили бы сразу, в чем ошибка...

ладно, извините...
 

Frol

Новичок
ошибка не в чем, а в ком.
ты не можешь прочитать сообщение об ошибке и исправить ее.
ты не можешь прочитать правила, в которых сказано как задавать вопрос.
 

shefeduard

Guest
сообщение об ошибке parse error
на сточке 103...

ну вот else стоит на этой строчке...

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

Frol

Новичок
я понимаю, что трудно прочитать правила.
но может прочитаешь, если задаешь тут вопросы?
 

Фанат

oncle terrible
Команда форума
похоже, действительно, пхп не справляется с парсингом этого
 

shefeduard

Guest
правила...
я не пытаюсь сказать чтобы вы мне нашли ошибку
я пытыюсь понять этот синтакис
PHP:
if():

else:

endif;
че можно внего влаживать а что нет...
 

Фанат

oncle terrible
Команда форума
я извиняюсь за предвдущие сообщения.
сначала не понял проблему.

взял твой код, проверил.
с кучерявыми скобками отрабатывает, а с двоеточиями пишет парсе еррор.
 

shefeduard

Guest
Фанат
Ну ВОТ!
Это получается недочет PHP...
а не мой недочет!
ЛАдно, тада будем обратно на фигурных скобках парчить

Frol
Надо уметь уважать собеседников.. Это же не ЧАТ..
 

mani13

Новичок
вообщем, странно...
если взять
PHP:
if (1) echo "OK\n";
else echo "FAIL\n";
то работает
если
PHP:
if (1) echo "OK\n";
else {echo "FAIL\n";}
то опять-таки работает
а
PHP:
if (1) echo "OK\n";
else:
        echo "FAIL\n";
endif;
то
Parse error: syntax error, unexpected ':'
 

shefeduard

Guest
ну тут другое дело
PHP:
if (1)
        echo "OK\n"; 
else: 
         echo "FAIL\n"; 
endif;
Если перед if (1) - нету ДВОЕТОЧИЯ, то else: - недопустим.

а в моем примере - все оформленно правельно, но parse erro!!!
 

Frol

Новичок
просто два вида мешать нельзя.
а использовать if без : и else: этим и является.
еще что-нибудь?

-~{}~ 25.02.06 20:51:

хотя не совсем то.
 
Статус
В этой теме нельзя размещать новые ответы.
Сверху