Дело в том что как бы php файлы читает ну если ток видет в них <? такие символы либо игнорит либо выводит без обработки, что надо сделать если написан вот такой движок что бы обробатывало норм php сессии index.php Код (Text): <? // --- Отсечение TRACE метода и глобальных параметров if($_SERVER['REQUEST_METHOD'] == 'TRACE'){ die('Bad Request.'); } if(isset($_REQUEST['GLOBALS']) || isset($_FILES['GLOBALS'])){ die('Bad Request.'); } if(!is_array($GLOBALS)){ die('Bad Request.'); } # - Подключаем API функции include('core/api.php'); # - Подключение менеджера шаблонов include('core/template.php'); $_TPL = new clsTemplateManager(); # - Получаем имя запрашиваемой страницы $RQST_PAGE = isset($_GET['page']) ? $_GET['page'] : 'index'; # - Фильтруем имя страницы $RQST_PAGE = str_replace('..', '', $RQST_PAGE); if(!file_exists('pages/'.$RQST_PAGE.'.php')) $RQST_PAGE = 'index'; # - Читаем страницу. $PageBuffer = API_ReadFile('pages/'.$RQST_PAGE.'.php'); # - Получаем положение страницы из первой строчки и отрезаем её от файла контента $NewLinePos = strpos($PageBuffer, "\n"); $Location = substr($PageBuffer, 0, $NewLinePos); $PageBuffer = substr($PageBuffer, $NewLinePos); # - Собираем страницу и отдаём пользователю echo $_TPL->assembleTemplateEx(array( 'site.title' => 'IT-News', # - Заголовок сайта 'site.content' => $PageBuffer, # - Контент страницы 'site.location' => ($Location), # - Строка места нахождения ), 'index'); ?> api.php Код (Text): <?php // ------------------------------------------------------ // --- Функция обработки строки перед выводом // ------------------------------------------------------ function API_EscapeString($Buffer, $NewLine = false){ $Buffer = phpspecialchars(stripslashes($Buffer)); return $NewLine ? nl2br($Buffer) : $Buffer; } // ------------------------------------------------------ // --- Чтение файла // ------------------------------------------------------ function API_ReadFile($FileName){ $Buffer = ''; if(file_exists($FileName)): $hFile = @fopen($FileName, 'r'); if($hFile): $Buffer = fread($hFile, filesize($FileName)); fclose($hFile); endif; endif; return $Buffer; } ?> template.php Код (Text): <?php /** * Класс управления дизайном * */ class clsTemplateManager{ var $_ModName = ''; # - Имя модуля /** * Загрузка шаблона * * @param String $TemplateName * @return String */ function loadTemplate($TemplateName, $FromModule = true){ $TemplateName = str_replace('..', '', $TemplateName); $Buffer = API_ReadFile('design/'.(!empty($this->_ModName) && $FromModule ? 'modules/'.$this->_ModName.'/' : '').$TemplateName.'.tpl'); return empty($Buffer) ? 'Template not found or empty' : $Buffer; } /** * Сборка шаблона из строки * * @param String $Pattern * @param String $Buffer */ function assembleTemplate($Pattern, $Buffer){ foreach ($Pattern as $Key => $Value): $Buffer = str_replace('{'.$Key.'}', $Value, $Buffer); endforeach; return $Buffer; } /** * Сборка шаблона с загрузкой из файла * * @param String $Pattern * @param String $FileName */ function assembleTemplateEx($Pattern, $FileName, $FromModule = true){ return $this->assembleTemplate($Pattern, $this->loadTemplate($FileName, $FromModule)); } /** * Установка активного модуля * * @param String $Name */ function setMod($Name){ $this->_ModName = $Name; } } ?> Если что там все везде пояснино что такое и для чего надо, может все же подскажите что сделать что бы не просто обробатывал php файлы а ещё и сессии в них?
В этих трёх приведённых файлах никакой работы с сессиями не вижу. Ты имеешь в виду, что если в шаблон написать <?php // и тут PHP код ?> то не работает? Или о чём ты вообще?
да, вот какую ф-ию надо вести что бы заработали сессии в шаблонах, можно как-то это сделать и исправить?