Здравствуйте! Проблема в следующем: есть 2 скрипта: index.php и history.php причем второй вызывается в первом, но не работает. пишет Код (Text): Notice: Undefined variable: main_tpl in y:\home\localhost\www\571\history.php on line 2 В чем проблема? index.php: PHP: <?php $main_tpl = file_get_contents("tamplates/main.tpl"); $header_tpl = file_get_contents("tamplates/header.tpl"); $footer_tpl = file_get_contents("tamplates/footer.tpl"); $left_tpl = file_get_contents("tamplates/left.tpl"); $right_tpl = file_get_contents("tamplates/right.tpl"); $center_tpl = file_get_contents("tamplates/center.tpl"); $main_tpl = str_replace("{header}", $header_tpl, $main_tpl); $main_tpl = str_replace("{footer}", $footer_tpl, $main_tpl); $main_tpl = str_replace("{left}", $left_tpl, $main_tpl); $main_tpl = str_replace("{right}", $right_tpl, $main_tpl); $main_tpl = str_replace("{center}", $center_tpl, $main_tpl); if (!isset($do)) { include 'news.php'; } else { switch ($do) { case 'news': include 'news.php'; break (0); case 'foto': include 'foto.php'; break (0); case 'board': include 'board.php'; break (0); case 'register': include 'register.php'; break (0); case 'history': include 'history.php'; break (0); case 'spravka': include 'spravka.php'; break (0); case 'transport': include 'transport.php'; break (0); } } echo $main_tpl; ?> history.php: PHP: <?php $main_tpl = str_replace("{content}", 'История', $main_tpl); ?> center.tpl: HTML: {content} надеюсь я понятно разъяснил проблему... Заранее всем спасибо
Dagdamor, аналогично. на связке php+mysql+apache работало (пол года назад), но сейчас у меня нет возможности установить такое ПО, ибо нахожусь в армии . работаю с Денвером. видимо какие-то настройки надо сделать?
PHP какой версии стоит? Денвер когда скачивал? tamplates - правильное название каталога? Не templates случаем?
Johnatan, PHP Version 4.4.4, Денвер скачивал довольно-таки давно, tamplates - правильное название каталога. Kreker, что помешало?
Kreker, и делать там нечего... если конечно хочешь собирать лопаткой мазут, как у вас в городе около РКК "Энергия" в январе собирали солдаты из нашей части - то добро пожаловать Johnatan, в 3 строчке какого файла и зачем?
В третьей строчке index.php Она тебе покажет, нормально ли присваивается переменная. Если ничего не выведет, значит file_get_contents возвращает false. А значит она просто не может достучаться до файла.
Ок, я скажу тебе по-другому. Определи, корректно ли работает у тебя функция file_get_contents("tamplates/main.tpl"); Я могу создать файл main.tpl в каталоге tamplates и у меня всё будет прекрасно работать.. А у тебя существует файл mein.tpl в каталоге tamplates и у тебя работать не будет сие чудо. Всё дело в настройке ПО?
file_get_contents("tamplates/main.tpl"); работает.. ситуация такая: если скрипту не передавать никаких переменных то он показывает новости, и причём показывает нормально, без ошибок.. PHP: <?php if (!isset($do)) { include 'news.php'; } ?> а вот если в меню вибирать что-то другое, то показывает ошибку... содержание файла history.php аналогично news.php. ещё одно - я использую mod_rewrite, может быть тут что-то не так? Код (Text): RewriteEngine On Options +FollowSymlinks RewriteBase / RewriteRule ^(news|foto|board|register|history|spravka|transport)$ 571/index.php?do=$1 [L] и ещё один момент: если выбирать раздел "Новости" принудительно, то опять возникает ошибка. т.е. вот это срабатывает нормально: PHP: <?php ... if (!isset($do)) { include 'news.php'; } ... ?> а вот это выдает ошибку: PHP: <?php ... case 'news': include 'news.php'; break (0); ... ?>