我想从我的数据库中提取一个值并将其用作当前页面标题。我的连接工作,页面加载正常,但我需要访问一个变量,我无法想出这个。
我的网页结构如何:
blog.php的
require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');
if (isset($_GET['id']) && is_numeric($_GET['id'])) {
$blogid = $_GET['id'];
$stmt = $dbh->prepare("SELECT id, title, slug, body, image, author, date, category from blog WHERE id= :id ORDER BY date DESC");
$stmt->execute(array('id' => $_GET['id']));
$row = $stmt->fetch();
}
if(isset($row['title'])) {
$pageTitle = $row['title'];
} else {
$pageTitle = "Something Here";
}
$pageTitle
是$header.php
中的变量。它控制每个页面的<title>
tage。
问题
我的数据库连接$dbh
在header.php
中设置。这意味着我无法访问$row['title']
,直到为时已晚。
问题:
如何对其进行重组,以便$row['title']
require_once($_SERVER['DOCUMENT_ROOT'] . '/inc/header.php');
之前访问{{1}}。如果我不需要,我真的不想将数据库连接从标题中拉出来。
谢谢!
答案 0 :(得分:0)
您不能这样做,因为您的<title></tile>
已经打印在输出中。
硬核修复方法是在缓冲区中使用渲染(使用ob_start ob_get_content),然后解析渲染的内容以更改<title>
标记的内容。
然而,聪明的方法是将数据库从标题中删除。
此致