Шаблонизатор не определяет переменную

Печать RSS
128

Е
Автор
Пацак
0
Шаблонизатор не определяет переменную $user:
Notice: Undefined variable: user
В чём может быть проблема ?
Архив: http://upwap.ru/2381143
Е
Автор
Пацак
0
Кто поможет ?
Ж

Малиновые штаны
0
J

Оранжевые штаны
0
что за велик?
<?php
$p = opendir(HOME .'/system/classes/');
while ($f = readdir($p)) {
if (preg_match('/\.class.php$/i', $f)) require_once(HOME .'/system/classes/'. $f); 
}

можно же autoload юзать.

<?php
function __autoload($name)
{
    $fileName = $name . '.php';
    $fileDir = HOME . '/incfiles/classes/' . $fileName;
    if (is_file($fileDir) == false) {
        return true;
    } 
    include_once($fileDir);
}

Добавлено через 03:17 сек.
можно использовать define еще

Добавлено через 03:31 сек.
вместо $user
Е
Автор
Пацак
0
4. Доктор Зло, можно примерчик ?

2000 лет д.н.э.
0
4. Доктор Зло, по моему у тебя ошибка.
После return функция останавливается.
Инклуда не будет.
+ инклуд внутри функции не выйдет за ее пределы. Нужен require.
Я правда ни когда не пользовался подобными конструкциями, но вроде так.
J

Оранжевые штаны
0
ну те нужно для начала переписать user.class.php на ООП.
потом делать типа так:
<?php
$uid = User::get_user_id(); // получаем ИД юзера (если гость, присваиваем -1)
define('USER_ID', $uid);


////// в index.tpl

if (USER_ID != -1) {
    echo 'admin';
}


как-то типа так.
P.S. это самый простой велик.

6, все работает на ура.

Добавлено через 05:38 сек.
переписать чеб не позориться т.к. с названия файла я думал что там ооп а открыв его увидел чет страшное smile
или же просто перенести класс
Е
Автор
Пацак
0
7. Доктор Зло, эт в инете начитался, вот и написал.... D
ещё можно через global обьявить)
Стикеры / Теги / Правила / Топ тем / Топ постов / Поиск