И опять темплейты

player

Новичок
И опять темплейты

Начал осваивать темплейты на основе РНР, одолевают сомнения. Правильно ли что если в алгоритме есть несколько возможностей вывода НТМЛ, надо в темплейте опять проверять ключевые переменные и в зависимости от результата выдавать тот или иной контент.

<? if(!isset($submit) || $login==0):?>
<? if(isset($error_msg)):?>
<?=$error_msg?><br />
<? endif; ?>
<?=$lang['Enter_password']?>
</span><br/>
<form action="index.php" method=post>
<table>
<tr>
<td><?=$lang['Name']?></td>
<td><input type=text name=login></td>
</tr>
<tr>
<td><?=$lang['Password']?></td>
<td><input type=password name=pass></td>
</tr>
<tr><td></td><td><input type=submit name="submit" value="Login"></td></tr></table>
</form>
<? endif; ?>

Есть ли какойто способ поэлегантнее чтобы реализовать то же самое??
 

master_x

Pitavale XXI wieku
player
я бы сказал, что здесь логика вывода, а это допустимо, без этого не обойтись.
 

VBart

Новичок
player
Дык, в html тегах у тебя в двойных

edit: только сейчас заметил, что не везде.
 

Sam

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

master_x

Pitavale XXI wieku
Sam
а чего же до конца не сказал, ладно я доскажу: во-вторых надо по правилам закрывать все теги: <input type="submit" name="submit" value="Login" />
 

VBart

Новичок
Автор оригинала: master_x
во-вторых надо по правилам закрывать все теги: <input type="submit" name="submit" value="Login" />
Только в XHTML. Если придерживаться HTML то это будет ошибкой.
 

Фанат

oncle terrible
Команда форума
player
есть, конечно.
во-первых, в шаблоне не должно быть функции isset
все переменные ты инициализируешь в скрипте, и поэтому можешь просто писать <? if ($error_msg):?>
во-вторых,
<? if(!isset($submit) || $login==0):?>
можно заменить на какую-то одну переменную, получаемую, опять же, в скрипте.
Шаблон должен быть как можно проще.

в-третьих, вообще не очень понятно почему у тебя идёт проверка выврдить, или не выводить эту форму.
что у тебя ещё есть в файле с ней?
 

player

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

Я просто темплейт не дописал и возник вопрос
 

Фанат

oncle terrible
Команда форума
так её ж надо выводить в любом случае, если $login==0 ведь?
какая разница - был сабмит или не был?
а тогда под формой у тебя должен было else - разве нет?

а вообще, я бы вынес эту форму в отдельный шаблон и инклюдил бы в скрипт авторизации.
а скрипт авторизации инклюдил бы во все скрипты админки.
тогда человек может заходить сразу на любую страницу, а не только на главную
 

player

Новичок
да, спасиб, я открыт для хороших советов.
else еще добавится.
 
Сверху