在自定义的PHP CMS中呈现头部区域的元标签

3

我是一个完全的新手程序员。

最近我在自定义CMS中遇到了一个问题。我想使它更加友好地对SEO进行优化,所以我尝试通过页面加载时回显标题,例如:

www.blaa.com/index.php?page=about //此处代码从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代码在查看源代码时都显示出来?


你的问题没有任何实际代码是没有意义的。而且,查看源代码确实会显示完整的HTML代码,而不是隐藏它。也许你有一些错误。 - Mihai Iorga
查看源代码将显示从Web服务器接收到的源代码,除非您使用任何类型的框架,在这种情况下,查看源代码可能仅显示所选框架的源代码。 - MrCode
抱歉,我把它放进去了,但是在缩进方面可能犯了错误,这是代码:<table><tr><td>自定义模块<br><br> 我的自定义模块 cus 任何 HTML 都可以放在这里<br><br></td></tr> <tr><td>菜单主体 <br><br> <a href='home.html'> 主页</a><br><a href='about page.html'> 关于页面</a><br><a href='sian jus pooped.html'> sian 刚刚拉屎</a><br><a href='products.html'> 产品</a><br><br><br> </td></tr> <tr><td>正文<br> </table> - saintybalboa
以上是当我访问www.bllaa.com?page=about时显示的代码。当我只访问index.php页面时,它确实显示了所有源代码。我所做的是://从mysql数据库中获取标题...<title><?php echo $title; ?>...我无法确定它是否有效,因为它不会在自定义页面视图源中显示。 - saintybalboa
@saintybalboa - 只是让你知道,花些时间确保问题(在任何类似的论坛上)格式良好且易读是个好主意 - 你的代码没有显示出来,因为你没有关闭代码格式标记。通常最好使用<pre>或四个空格缩进来编写代码,而不是内联代码格式。如果你有几分钟的时间,请快速阅读一下Markdown帮助。 - halfer
1个回答

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代码和脚本。
如果您的自定义模块是要显示的HTML代码,则应使用include命令:
<body>
<?php include("path/to/custom_module.php"); ?>
</body>
</html>

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

谢谢你的帮助,我已经用我的代码完成了这个任务。问题是,当我查看其中一个自定义页面(例如关于页面)的源代码时,它只显示了一小段代码,而不是整个HTML头部(<head><title></title>等),所以我不知道它是否有效。 - saintybalboa
这意味着变量为空或未设置。你可能已经关闭了PHP错误,所以它会静默继续。与其在Web服务器上开发,你应该下载PHP 5.4 Windows二进制文件,它带有一个准备好使用的开发服务器(无需安装)。然后你可以使用像Eclipse或Aptana这样的IDE在桌面上进行开发,并在计算机上检查页面,而不是在服务器上。这样你就可以打开所有错误并调试你的问题。 - Ozzy
抱歉各位,我只是在本地主机上进行测试。现在我已经在线上测试过了,它确实可以工作。很抱歉搞砸了,非常感谢你们的帮助,谢谢。 - saintybalboa
http://windows.php.net/download/ <-- 访问此链接并下载非线程安全版本的zip文件,解压到C:/php目录下。然后在cmd.exe中运行以下命令:cd C:/php 然后 php -S localhost:8888 -t c:/myserver/ 服务器将在您的PC上启动。在浏览器中输入 localhost:8888/ 如果您在 c:/myserver 目录下有一个 index.php 文件,它将会执行其中的PHP代码。 - Ozzy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接