正如您在下面看到的,我正在检查$_GET['page']
以将正确的页面包含到我的index.php
中,我喜欢这种结构,但如何将标题等动态数据添加到标题中?在init.php
中包含正确的页面之前,包含header.php
文件的index.php
包含在顶部,因此我不可能只使用变量?
有人可以向我解释其他人是如何做到这一点的吗?
的init.php
//HEADER OPTIONS
header('X-FRAME-OPTIONS: deny', true);
header("X-XSS-Protection: 1; mode=block");
header("x-content-type: nosniff");
ini_set( 'session.cookie_httponly', 1 );
session_start();
if(!isset($_SESSION['CSRFToken'])){
//SÆTTTER SESSION TOKEN HVIS DER IKKE ER EN
$_SESSION['CSRFToken'] = bin2hex(random_bytes(32));
}
require_once "db.php";
require_once "functions.php";
require_once 'header.php';
的index.php
include_once "includes/init.php";
// CHECKKER OM DER ER EN $_GET
$page = (isset($_GET['page'])) ? "pages/" . $_GET['page'] . '.php' : 'pages/core.php';
// CHECKER OM FILEN EKSISTERE
file_exists($page) ? include_once($page) : include_once "pages/404.php";
include_once "includes/footer.php";
答案 0 :(得分:1)
您可以使用str_replace
将标题标记中的当前文本替换为您想要的任何标题。
因此,您最初可以使用header.php
<title>%TITLE%</title>
或任何地方设置标题文字
然后在包含正确的文件之后,您可以使用下面的php代码设置标题,使用ob_get_contents
来获取此时输出到浏览器的任何内容并使用str_replace
替换它,
<?php
$buffer=ob_get_contents();
ob_end_clean();
$buffer=str_replace("%TITLE%","NEW TITLE",$buffer);
echo $buffer;
?>
如果有帮助或者我能为您提供更多帮助,请告诉我。