在自定义PHP CMS中渲染头部分元标记

时间:2012-05-08 09:56:02

标签: php html content-management-system seo html-title

(我是一个完整的新手程序员)

我最近遇到了自定义CMS的问题。我想让SEO友好,所以我试图通过加载的页面回显标题,例如

www.blaa.com/index.php?page=about //code here grabs the required page title from the mysql db $title = $row['title']; <title><?php echo $title; ?></title>

我无法看到这是否真的有效,因为当我查看源代码时它只显示以下代码:

<table> <tr><td>Custom Module<br><br>

我的custommodule cus任何html进入这里

</td></tr> <tr><td>Menu Body <br><br> <a href='home.html'> home</a><br><a href='about page.html'> about page</a><br><br><br> </td></tr> <tr><td>body<br> cant believe im so a<br></div> </td></tr> <tr><td>Footer<br> links go here to various pages<br></td></tr> </table>

有没有办法让所有HTML代码都显示在视图源中?

1 个答案:

答案 0 :(得分:3)

您必须使用echoprint变量来显示它。您还可以执行var_dump检查值是什么。

<?php
$title = isset($_GET['title'])? $_GET['title'] : "No title.";
?>
<!DOCTYPE html>
<html>
<head>
  <title><?php echo htmlspecialchars($title); ?></title>
</head>

我添加htmlspecialchars以防止脚本注入,我不知道它是否适用于title标记,但我添加它以防万一。另外,您应该知道无论何时将用户输入写入HTML页面,都应该使用htmlspecialchars来取消任何html代码&amp;脚本。

如果您的自定义模块是要显示的HTML加载,则应使用inlude命令:

<body>
<?php include("path/to/custom_module.php"); ?>
</body>
</html>

# custom_module.php
<div>Hello, I'm the custom module.</div>