WebDesign: файл заголовка, но с пользовательскими названиями страниц?

Я использую заголовки для создания шаблонов для сайтов. Это легко и очень удобно для отладки.

Теперь я сталкиваюсь с проблемой использования head BUT с пользовательскими названиями страниц. Если это мой заголовок.php >

<html> <head> <title> My Site : ??? </html> </head> <body> </body> </html> 

Мне нужно ??? для замены на каждую страницу.

Это возможно? Если да, то как? Спасибо. 🙂

Не зная больше о вашей схеме включения файлов, самым простым способом было бы:

page2.php

 <?php $pageTitle = 'Page 2'; include 'header.php'; ?> <div>My content</div> <?php include 'footer.php'; ?> 

header.php

 <html> <head> <title> My Site : <?php echo $pageTitle ?> </title> </head> <body> 

footer.php

 </body> </html> 

Ответ на webbiedave совершенно прекрасен, но в конечном итоге вы должны научиться использовать либо достойный язык шаблонов (Smarty, Twig ), либо фреймворк PHP, у которого есть собственные шаблоны. Кохана и Codeigniter оба довольно легко попасть.

Если бы я должен был добавить код до включения заголовка, это поможет?

 <?php $currentPage = "Random Page Title"; include "header.php"; ?> 

А затем используйте значение в header.php, чтобы напечатать заголовок страницы?

вы можете запросить БД для названия страницы, а затем распечатать ее с помощью php 🙂

Редактировать:

Оглядываясь на проблему, в зависимости от того, как вы разработали свой веб-сайт, это не может быть самым простым решением. Но если вы уже используете какую-то систему ID, это должно быть легко.

Да, это поможет. Но вам нужно сделать небольшую настройку.

Прежде всего, убедитесь, что вы подключаетесь к базе данных, если хотите запрашивать / извлекать данные из базы данных. Чтобы это произошло, включите страницу «config.php» в самом начале скрипта, в котором будет присутствовать логика подключения к базе данных.

Затем напишите свой запрос для извлечения данных из этой базы данных и назначьте это значение требуемой переменной для ее использования на титульной странице.

Наконец, включите страницу «header.php».

На странице «config.php»: –

Логика подключения к базе данных, например, использование функций «mysql_connect ()» и «mysql_select_db ()».

Для страницы "custom.php": –

 <?php include "config.php"; $sql = "SELECT pageTitle FROM db_table WHERE condition = 'something'"; $sql_exe = mysql_query($sql) or die("Error in Fetching Page Title"); if( mysql_num_rows($sql_exe) ) { $currentPage = mysql_result($sql_exe, 0, 0); } else { $currentPage = "Random Page Title"; } mysql_free_result($sql_exe); include "header.php"; ?> 

Кроме того, если вы хотите, вы всегда можете использовать некоторый класс для соединений и запросов mysql для извлечения данных. Но так оно и работает.

вы можете вызвать javascript для динамического изменения названия страницы, это лучшее решение, если у вас есть главный файл index.php, который вызывает все остальные функции

Вы также можете использовать что-то вроде этого:

если вы вышли замуж за ваши имена файлов php со своими названиями страниц

вы можете использовать explode или str replace, чтобы сделать его более удобным для замены запятых или символов подчеркивания, например.

  <?php echo basename($_SERVER['REQUEST_URI']); ?> 

или

  <?php // my_page_title.php $var=basename($_SERVER['REQUEST_URI']); $pagetitle=str_replace("_"," ",$var); // my page title ?> <title> My Site : <?php echo $pagetitle; ?> </title> 

Исправлена ​​1 небольшая ошибка в записи header.php Webbiedave

 </html> should be </title> 

 <html> <head> <title> My Site : <?php echo $pageTitle ?> </title> </head> <body>