动态内容/标题/元标签


Dynamic content / titles / meta tags

我刚刚用教程作为参考创建了一个新网站。我的问题主要是标题没有改变。但也不可能改变任何事情。定义的标头中的所有内容都是静态的。

我是PHP的新手,所以非常感谢您的帮助。

这是我当前的代码:

<?php
error_reporting(E_ALL | E_STRICT);
ini_set('display_errors', 'On');
if (isset($_GET['content'])) {
    $content = strtolower(trim($_GET['content']));
} else {
    $content = '';
}
    include_once 'inc/header.php';
switch ($content) {
    case 'main':
    include 'inc/main.php';
    break;
    case 'blog':
    include 'inc/blog.php';
    break;
    case 'portfolio':
    include 'inc/portfolio.php';
    break;
    case 'lebenslauf':
    include 'inc/lebenslauf.php';
    break;
    case 'kontakt':
    include 'inc/kontakt.php';
    break;
    default:
    include 'inc/main.php';
}
    $content = "main";
    include_once 'inc/footer.php';
?>

你知道如何编辑这些代码以动态更改标题或元标签吗?或者你知道PHP文件的最佳实践教程吗?

绝对最简单的裸机"动态"标头:

header.php:

<title><?php echo $title ?></title>

index.php:

$title = 'Hello, world!';
include('header.php');

试试下面的代码。

<?php 
  $title = "";
  $description = "";
  $keywords = "";
  $url = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
 if(strpos($url, 'index') !== false){
   $title = "Home | Your Site Name";
   $description = "Your Site description ";
   $keywords = "Your Site Keywords";
 }elseif(strpos($url, 'about') !== false){
   $title = "About Us";
   $description = "About description ";
   $keywords = "key words";
 }
 ?>
 <title><?php echo $title; ?></title>
 <meta name="description" content="<?php echo $description; ?>" />
 <meta name="keywords" content="<?php echo $keywords; ?>" />

我不确定你路由到这样的页面的原因,但我猜你的标题/元数据在header.php文件中。

要更改它们,您可以为每个创建一个数组,如下所示:

$titles = array(
   'blog.php' => 'title for blog',        
   'main.php' => 'title for main',
   //etc
);

在您的交换机中,分配一个变量$include或其他正确的页面,例如:

case:'main':
   $include = 'main.php';
   include(main.php);
   break;

然后使用$include在header.php中获取标题,例如:

<title><?php echo $titles[$include];?></title>