PHP для размещения сгенерированного заголовка страницы в


Мы включаем header.php файл на всех страницах нашего сайта. Таким образом, мы могли бы либо разместить один заголовок в header.php файл, который будет применен ко всему сайту или будет иметь пользовательский заголовок на каждой странице, чтобы быть более описательным.

Проблема в том, что при этом заголовок будет находиться за пределами тегов заголовка (которые остаются в header.php файл) и помечен как недопустимый.

Есть ли какая-то функция, которую мы можем использовать для определения переменной ($pagetitle) в страница, которая будет отображаться в теге head?

Спасибо.

Author: Andelas, 2010-09-16

4 answers

На самом деле так и должно быть

News.php :

<?
include "config.php"; //connect to database HERE.
$data = getdbdata("SELECT * FROM news where id = %d",$_GET['id']);
$page_title = $data['title'];
$body = nl2br($data['body']);

$tpl_file = "tpl.news.php";
include "template.php";
?>

Template.php :

<html>
<head>
<title><?=$page_title?></title>
</head>
<body>
<? include $tpl_file ?>
</body>

Tpl.news.php

<h1><?=$page_title?></h1>
<?=$body?>

Простой и понятный

 5
Author: Your Common Sense, 2010-09-16 18:51:37

Ммм.....

<?php 
$pageTitle = "Test";
include('header.php');
?>

РЕДАКТИРОВАТЬ

Затем в вашем header.php

<head>
    <title><?php echo $pageTitle; ?> </title>
</head>
 1
Author: Brad F Jacobs, 2010-09-16 18:32:46

Похоже, вам нужен динамический заголовок на некоторых страницах?

<?php
$defaultPageTitle='Default Title'; //Default title
include('header.php');
?>

<?php
/* You would define $newPageTitle here if necessary
 (i.e. use $_SERVER['REQUEST_URI'] to get the URL
 and check a database for the $newPageTitle */
?>
<head>
<?php
if(isset($newPageTitle)){echo '<title>'.$newPageTitle.'</title>';}
else{echo '<title>'.$defaultPageTitle.'</title>';}
?>
</head>
 1
Author: Matt, 2010-09-16 18:39:43

Насколько я понимаю, вы все еще можете выполнить всю эту работу в своем заголовке:

<?php
include(...your config/connect file...);
mysql_query(... get page variables ...);
$pageTitle = stripslashes($titlefromDB);
?>
<html><head><title><?php echo $pageTitle; ?></head>

Таким образом, вы заключаете header.php . Теперь включите это на каждой странице, которую вы хотите использовать, и следуйте своим <body></body></html>.

Всего одна идея, но в любом случае вы обойдете это, сначала вам придется подключиться к своей базе данных, проверить, существует ли страница, если так, установите заголовок в качестве переменной, а затем начните создавать html.

 0
Author: Bryan, 2010-09-16 19:20:48