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

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

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

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


</body>
</html>

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

Возможно ли это? Если да, то как? Спасибо.:)

Ответ 1

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

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>

Ответ 2

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

Ответ 3

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

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

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

Ответ 4

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

Edit:

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

Ответ 5

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

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

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

Наконец, включите страницу "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 для получения данных. Но так оно и работает.

Ответ 6

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

Ответ 7

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

если вы вышли замуж за ваши имена файлов 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>

Ответ 8

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

</html> should be </title>

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