Eudgene1234
Newbie | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Здравствуйте! Помогите решить проблему. codes.php Код: <?php $defa = 'Да'; include $_SERVER['DOCUMENT_ROOT']."/admin/settings/db_connect.php"; $db = mysql_connect ($dbhost, $dbusername, $dbpass); mysql_select_db ($dbusername,$db); $query = "SELECT `id`, `dir`, `def` FROM `templates` WHERE def='$defa'"; $res = mysql_query( $query ); $item = mysql_fetch_array( $res ); // загрузка в переменные, в виде строк, содержимого страниц и меню $LOGOHEADER = file_get_contents('admin/settings/tpl/'.$item['dir'].'/scripts/LOGOHEADER.php'); $MENUHEADER = file_get_contents('admin/settings/tpl/'.$item['dir'].'/scripts/MENUHEADER.php'); $MENULEFT = file_get_contents('admin/settings/tpl/'.$item['dir'].'/scripts/MENULEFT.php'); // функция по перемещению и замене строк в частях шаблона на содержимое переменных function repl ($path) { // определение глобальных переменных global $LOGOHEADER,$MENUHEADER,$MENULEFT; // чтение файла в виде строки в переменную $temp $temp = file_get_contents($path); // перемещение участков в строке загруженной в $temp $temp = str_replace ( "%LOGOHEADER%", $LOGOHEADER, $temp ); $temp = str_replace ( "%MENUHEADER%", $MENUHEADER, $temp ); $temp = str_replace ( "%MENULEFT%", $MENULEFT, $temp ); // вывод измененной строки содержащейся в переменной $temp echo ("$temp"); } ?> | php/header.php Код: <?php $defa = 'Да'; include $_SERVER['DOCUMENT_ROOT']."/admin/settings/db_connect.php"; $db = mysql_connect ($dbhost, $dbusername, $dbpass); mysql_select_db ($dbusername,$db); $query = "SELECT `id`, `dir`, `def` FROM `templates` WHERE def='$defa'"; $res = mysql_query( $query ); $item = mysql_fetch_array( $res ); // Строка для уменьшения уровня предупреждений сервера Denwer Error_Reporting(E_ALL & ~E_NOTICE); // строки необходимые для выполнения любых операций по методам Get и Post if(isset($_GET)) {foreach ($_GET as $key=>$val) {$$key=$val;}} if(isset($_POST)){foreach ($_POST as $key=>$val){$$key=$val;}} include($_SERVER['DOCUMENT_ROOT'].'/admin/settings/tpl/'.$item['dir'].'/php/codes.php'); repl ($_SERVER['DOCUMENT_ROOT'].'/admin/settings/tpl/'.$item['dir'].'/tpl/header.php'); ?> | tpl/header.php Код: <div class="header_a clearfix"> <div id="logo"> %LOGOHEADER% </div> <div id="menu"> %MENUHEADER% </div> </div> | script/LOGOHEADER.php Код: <?php include $_SERVER['DOCUMENT_ROOT'].'/admin/settings/db_connect.php'; $db = mysql_connect ($dbhost, $dbusername, $dbpass); mysql_select_db ($dbusername,$db); $query = 'SELECT `url`, `alt` FROM `logo` WHERE 1'; $res = mysql_query( $query ); $logo = mysql_fetch_array( $res ); echo ('<a href="http://'.$_SERVER['SERVER_NAME'].'"><img src="'.$logo['url'].'" alt="'.$logo['alt'].'"></a>'); ?> | По сути это шаблонизатор (готовый, например smarty и т.п, использовать не вариант) Все работает до тех пор, пока не происходит вывод LOGOHEADER.php. PHP код почему то интерпретируется как комментарий к html (т.е. <!--?php ... -->) |