Forum Webscript.Ru

Программирование => PHP => Тема начата: kolobok от 27 Декабря 2003, 03:11:40

Название: PHP B HTML
Отправлено: kolobok от 27 Декабря 2003, 03:11:40
Подскажите "чайнику".Вопрос в следующем.
В HTML последовательно меняются три формы  - кнопка,форма регистрации и надпись "Зарегин".Так вот первые две работают нормально,а надпись не хочет,появляется снова кнопка.Из за чего это происходит я понимая,а вот как этого избежать додуматся не могу.
Я пишу следуещее

    if () {
     print "<кнопка>"
    ;
    }
   else if ()
      { if()
    print "<форма>"
   ;
   }
   else
   {
   print "<надпись>"
  ;
  }
  ?>

Я понимаю что ELSE вроде не правильно,что по идее здесь должно быть просто,но как правильно догнать не могу.
Не сочтите за труд,просветите "чайника".
Название: PHP B HTML
Отправлено: CGVictor от 27 Декабря 2003, 10:08:02
if ( $cond1) {
    print "кнопка";
} elseif ( $cond2 ) {
    print "форма";
} else {
    print "надпись";
}
?>
или
if ( $cond1) {
    print "форма";
} elseif ( $cond2 ) {
    print "надпись";
} else {
    print "кнопка";
//ИМХО, так логичнее
}
?>
Название: PHP B HTML
Отправлено: kolobok от 28 Декабря 2003, 05:25:39
Спасибо,получилось.Только я не могу понять,почему не работает знак "=",если я пишу
if ($cond = "1") {
print " <форма ?cond=2>";
}elseif ( $cond = "2" ) {
print "надпись";
}else {
print "<кнопка ?cond=1>";
}
?>
то она выводит сразу форму и все больше не начего не реагирует.
Пришлось писать
if ($cond > "3") {
print " <форма ?cond=2>";
}elseif ( $cond > "1" ) {
print "надпись";
}else {
print "<кнопка ?cond=4>";
}
?>
насколько я понимаю,когда выражение истенное,то она пишет первое что идет за ним,если ложное,то проверяет дальше,если не однрго истенного нет,то пишет то что после else.Если это так то почему "=" не работает ?
Или я опять что то не догоняю ?
Название: PHP B HTML
Отправлено: Croaker от 28 Декабря 2003, 05:42:13
"=" - это знак присваивания, а не сравнения. И условие ($cond = "1") у тебя отрабатывает всегда. Если нужно сравнить, пиши "==".
Название: PHP B HTML
Отправлено: kolobok от 28 Декабря 2003, 05:50:38
Я писал " ==",она выдает что это ошибка !
Название: PHP B HTML
Отправлено: Croaker от 28 Декабря 2003, 05:58:10
Покажи текст ошибки, и свой код, где ты писал "==".
Название: PHP B HTML
Отправлено: kolobok от 28 Декабря 2003, 06:43:59
Спасибо,разобрался,я с дуру писал через пробел "= =",поэтому и ошибку выдавала !!