Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Скриптовые языки программирования > PHP
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 15.07.2010, 21:30   #1
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию Как бы отобразить в tpl сессионную переменную

У меня есть панель навигации, включаемая как tpl файлы во все другие tpl. php к этой штуке нету. Нужно приделать в этот включаемый объект код, который будет проверять, зашел ли юзер, с украдкой вчитываясь в переменную сессии $_SESSION['useracool'], а далее отображать либо форму входа, либо имя юзера. Я хотел написать, как приведено ниже.
PHP код:
{if !$_SESSION['useracool']}
<
form action="./loginako.php" method="post">
<
center>Логин<br/><input type="text" name="u1"></center>
<
center>Пароль<br/><input type="text" name="u2"></center><br/>
<
input type="submit" name="submatto" value="Войти">
{else}
Вы: {$_SESSION['useracool']}
{/if} 
Но tpl не читает сами такие сессионные переменные, либо их тип записи. Возможно, можно как-то по-другому написать само название переменной из сессии? А если нет, то что лучше сделать?
Krasi вне форума Ответить с цитированием
Старый 15.07.2010, 23:25   #2
werewolf999
Пользователь
 
Регистрация: 04.05.2010
Сообщений: 46
По умолчанию

все зависит от того какой шаблонизатор используется для разбора файлов tpl
чаще всего в шаблонизаторах есть специальная переменная, в которой хранятся данные из суперглобальных массивов
в smarty например это переменная $smarty
и условие из твоего примера будет выглядеть так {if !$smarty.session.useracool}
werewolf999 вне форума Ответить с цитированием
Старый 16.07.2010, 10:59   #3
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Во, четко шаблонизатор угадал, спс.
Krasi вне форума Ответить с цитированием
Старый 16.07.2010, 11:08   #4
Krasi
Форумчанин
 
Регистрация: 12.02.2010
Сообщений: 787
По умолчанию

Почему-то на той странице, где происходит вход и запись в сессионные переменные значений, переменная отображается, а на других страницах - нет. А с php стороны при вызове переменной в виде $_SESSION['jhgjhhg'] из любого php-файла, в котором инициализирован smarty, кроме того, где было присваивание, значения также не выдается.

АА, сессии не запустил. Все работает.

Последний раз редактировалось Krasi; 16.07.2010 в 11:17.
Krasi вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как отобразить ячейку с датой? AK BULLETS Общие вопросы Delphi 0 18.05.2010 11:20
php в tpl sergeiqwe PHP 1 13.05.2010 19:08
tpl + php, движок DLE qdf1 WordPress и другие CMS 0 03.02.2010 19:45
DDE как время отобразить Inoko Microsoft Office Excel 9 29.07.2009 16:54
Как в excel отобразить формулу как текст ? mihhon Microsoft Office Excel 3 03.06.2009 22:05