2012-06-12 2 views
1

У меня есть страница index.php, которая является главной страницей. Все страницы включены динамически внутри index.php по переменным GET.Динамический заголовок страницы

Это часть класса Uflex .. Это будет генерировать заголовок на основе имени файла включен и я не люблю этот способ ..

<?php 

$page = @$_GET['page']; 
$page = !$page ? "home" : $page; 
$ext = ".php"; 
$page_inc = "page/" . str_replace("-", "_", $page) . $ext; 
//Page not found 
if(!file_exists($page_inc)) send404(); 
if(!$page_title){ 
$page_title = ucfirst($page); 
} 
?> 

// HTML CODE <head>, <title>, ecc 
// And then 

<?php include($page_inc); ?> 

Пример: я смотреть http://sitename.ext/?page=user&id=nickname

Он будет включать в себя user.php, так как включает в себя сделанные после тега <title> .. Я не могу установить заголовок на основе переменной php. Внутри user.php я есть $user['username'] и я хочу, чтобы установить этот вар в качестве заголовка ..

мне нужно переписать новый способ включить файлы с possibilty установить заголовки из файла включены.

Предложение? Спасибо!

+0

Вы не должны просто принимать входное значение и включать в него скрипт. Фильтр или белый список. Используйте 'basename()' как минимум или регулярное выражение, чтобы ограничить его. – mario

+0

Возможный дубликат [Установка содержимого переменной переменной $ include()] (http://stackoverflow.com/questions/8725607/setting-variables-content-using-include) – mario

ответ

1

Вы должны рассмотреть возможность использования require, а затем вызвать функции для генерации данных.

<?php require($page_inc); ?> 
<html> 
<title><?php echo $page_title; ?></title> 
.... 
<div><?php echo $page_content?></div> 

Это довольно похоже на то, что делает Wordpress, хотя и действительно высокий уровень.

+0

Таким образом, используя этот метод, мне нужно изменить все страницы, чтобы сделать '$ page_content' содержит весь контент для отображения? – Fr0z3n

+0

есть. или вы можете использовать функции, такие как: page_content(); –

Смежные вопросы