我们在网站的所有网页上都包含一个header.php文件。因此,我们可以在header.php文件中放置一个标题,该文件将应用于整个网站,或者在每个页面中都有一个自定义标题,以便更具描述性。
问题在于,在执行此操作时,标题将位于head标记之外(保留在header.php文件中)并标记为无效。
我们可以使用某种函数在页面中定义一个变量($ pageTitle),它将显示在head标签中吗?
感谢。
答案 0 :(得分:5)
实际上它应该是这样的
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?>
简单明了
答案 1 :(得分:1)
嗯.....
<?php
$pageTitle = "Test";
include('header.php');
?>
修改强>
然后在你的header.php
中<head>
<title><?php echo $pageTitle; ?> </title>
</head>
答案 2 :(得分:1)
看起来你想要在某些页面上使用动态标题?
<?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>
答案 3 :(得分:0)
我看到它的方式,你仍然可以在标题中完成所有这些工作:
<?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。