Smarty кэширует шаблон

Mikelangelo

Новичок
Smarty кэширует шаблон

Подскажите,плз,такая проблема

Есть php-код для проверки авторизации

PHP:
// Проверка авторизации
if (isset($_SESSION["autorize"]) and $_SESSION["autorize"]!="")
	{
	$autorize = "Рады Вас видеть, <b>".$_SESSION["autorize"]."</b>! <b> | </b> <a href=\"\" class=\"credits\">Редактировать профиль</a> <b>| </b><a href=\"autorize.php?logout\" class=\"credits\">Выйти</a><b> | </b>";
        }
 else 
	{
	$autorize = "Логин:&nbsp;<input name=\"login_user\" type=\"text\">&nbsp;Пароль:&nbsp;<input name=\"pass_user\" type=\"password\"><input type=\"submit\" value=\"Войти\">";
        }
$smarty->assign("autorize",$autorize);
$smarty->display("header.tpl");
Есть шаблон Smarty(header.tpl),который подключается в конце этого кода
PHP:
<div>{$autorize}</div>
И когда я перехожу по страницам,у меня вместо того,чтобы заменять значение $autorize в шаблоне каждый раз,значения просто дублируются и 20 раз выводится "Рады Вас видеть Вас..." . Причем только на внешнем сервере,локально работает норм.
 

Армян

Новичок
мне кажется правильнее будет прикреплять переменную autorized (true|false) и в шаблоне проверять, и текст хранить в шаблоне! иначе зачем вообще шаблонизатор юзать если половина хтмл в пхп половина в шаблоне?
а по теме: врядли это происходит просто так - отладка должна помоч
 

Mikelangelo

Новичок
Армян
Ты прав,переписал проверку в шаблон. а так глючит по- старому, роюсь в настройках php, отвечающих за кеширование, локально то все норм работает.

PHP:
		{if isset($smarty.session.autorize) and ($smarty.session.autorize!="")}
		Рады Вас видеть , <b>{$smarty.session.autorize}</b>! <b> | </b> 
                <a href="" class="credits">Редактировать профиль</a> <b>| </b>
                <a href="autorize.php?logout" class="credits">Выйти</a><b> | </b>
		{else}
		Логин:&nbsp;<input name="login_user" type="text">&nbsp;Пароль:&nbsp;<input name="pass_user" type="password"><input type="submit" value="Войти">
		{/if}
-~{}~ 13.09.08 15:14:

опытным путем установил,что это просиходит из-за того что $_SESSION["autorize"] вставлено в текст(если его убрать-все норм),а вот почему так происходит-не понимаю.
 

duburlan

Новичок
register_global - на серве установлен в on...

вместо $_SESSION['autorize'] - поставь к примеру $_SESSION['autorize_bla_bla'] ... тогда текст перестанет плодиться))
 
Сверху