0

我的网站有很多页面。所有这些页面的顶部都有相同的标题,显示登录用户的选项和网站不同部分的链接。

我意识到,如果我想更改此标题的外观,我需要仔细检查并将更改应用到每一页。这似乎是一个我可以避免的问题,所以我决定将代码存储在 mySQL 数据点中,然后简单地将其回显到每个页面上。

到目前为止,它运行得非常好,但是我在其中的任何 PHP 代码(比如显示用户名)只返回物理代码本身,而不是结果。

调用代码工作得很好,所以这里是被调用的实际 mySQL 条目:

<table width="1332" border="0" cellspacing="0"><tr>
<td width="1002" style="background-color:#4DDB4D;">
<a href="http://www.AGLgaming.com/login/home"><img src="http://i378.photobucket.com/albums/oo223/Abyssion180/AGLLogoAlternate.png" alt="AGL Logo" width=170 height=90 align="left" /></a>
<img src="http://i378.photobucket.com/albums/oo223/Abyssion180/AGLBanner.png" width=825 height=90 />
</td>
<td width="330" style="background-color:#4DDB4D" align="right">
<div class="ex1">
<a href="http://www.AGLgaming.com/login/home/profile"><font color="blue" size="5">' . $user[0][0] . '</font></a>,<br>
<font size="1">Logged in: </font><a href="http://www.AGLgaming.com/login/home/logout"><font size="2" color="blue">Logout</font></a>
</div></td></tr>
<tr><td valign="center" style="background-color:#6EFF6E;height:31px;">
<div align="left"> ||
<a href="http://www.AGLgaming.com/login/home/forums"><font color="blue" size="5">Forums</font></a> |||
<a href="http://www.AGLgaming.com/login/home/guides"><font color="blue" size="5">Guides</font></a> |||
<a href="http://www.AGLgaming.com/login/home/external"><font color="blue" size="5">External</font></a> |||
<a href="http://www.AGLgaming.com/login/home/members"><font color="blue" size="5">Members</font></a> |||
<a href="http://www.AGLgaming.com/login/home/tournament"><font color="blue" size="5">Tournament</font></a> |||
<a href="http://www.AGLgaming.com/login/home/constitution_of_the_AGL"><font color="blue" size="5">Constitution of the AGL</font></a></div>
</td>
<td valign="center" style="background-color:#6EFF6E;height:31px;">
<div class="ex1" align="right">
<a href="http://www.AGLgaming.com/login/home/profile"><font color="blue" size="3">Profile</font></a> |
<a href="http://www.AGLgaming.com/login/home/denarii"><font color="blue" size="3">Denarii</font></a>: ' . $user[0][7] . ' |
<a href="http://www.AGLgaming.com/login/home/messages"><font color="blue" size="3">Messages</font></a>: ' . $user[0][9]; if($user[0][10]>0)  echo '<font size="2"><b>(' . $user[0][10] . ' New!)</b></font>'; . ' |
<a href="http://www.AGLgaming.com/login/home/settings"><font color="blue" size="3">Settings</font></a>
</div>
</td></tr></table>
4

3 回答 3

4

如果我做对了,我会(不想刻薄)真的建议你重新考虑你的代码。你真的在从你的 MySQL 数据库中查询 HTML / PHP 代码吗?如果是这样,让我向您推荐另一种方法来获取不仅仅是一个站点的一些代码:只需将该代码放入一个额外的 php 文件中 - 例如 header.php 并使用

<?php require_once('header.php');?>
于 2013-04-22T23:07:30.097 回答
1

好吧,在我看来,您正在寻找的是一种模板系统。实现这一点的最简单方法是在您的 HTML 中使用特定的关键字,然后您的 PHP 可以提取和替换这些关键字。

例如,您可以使用该str_replace()功能。

$processedHtml = str_replace('{__USERNAME__}',$userName,$htmlFromDB);

{__USERNAME__}在此示例中,您将在希望$userName变量出现的任何位置插入字符串。


话虽如此,我认为您正面临一个相当特殊的情况,将 HTML 存储在数据库中可能不是最佳选择。您可能要考虑使用 PHP 的include()函数。这将允许您在当前脚本中插入一个附加文件。它将(正如其名称所描述的)简单地将代码包含在您放置 include 语句的位置。这将允许您将共享的标头代码集中在一个文件中,并在您需要的任何地方简单地“包含”它,您只需对一个文件进行编辑。

于 2013-04-22T23:06:51.423 回答
0

你应该做什么而不是使用数据库,所以这将是 php 的包含函数。假设您在名为 header.php 的文件中有以下代码

Awesome header
<?php 
    echo "working code";
?>

在您可以放置​​的每个其他文件中

<?php
    include "header.php";
?>
于 2013-04-22T23:05:19.973 回答