2013-04-22 102 views
0

我的网站有很多页面。所有这些页面都在顶部具有相同的标题,显示登录用户的选项以及指向网站不同部分的链接。如何在mySQL中调用PHP变量?

我意识到,如果我想改变这个头的外观,我需要通过并应用到每个页面的变化。这似乎是我可以避免的一个问题,所以我决定将代码存储在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

为什么这不仅仅是一个单独的PHP文件,而是包含在每个页面的顶部?为什么它需要存储在数据库中? – 2013-04-22 23:04:47

+0

我其实不知道你可以这样做 - mySQL只是我的即兴创作方法。 – Seriamus 2013-04-22 23:14:18

回答

4

如果我得到了这个权利,我会(不想变得卑鄙)真的推荐你重新考虑你的代码。你真的从你的MySQL数据库查询HTML/PHP代码吗? 如果是这样,让我建议更换你另一种方式来获得一些代码的不仅仅是网站的Onne更多: 简单地去把这些代码到一个额外的PHP文件 - 例如header.php文件,调用一个与

<?php require_once('header.php');?> 
+1

哦,哇,谷歌搜索已经正式让我失望了,因为我从来没有碰到过这个功能。但我喜欢这个解决方案比我自己的更多,谢谢。 – Seriamus 2013-04-22 23:12:37

+0

没问题,它确实是一个有用的函数,类似于require和include - php。净有一个非常伟大的文档;) 顺便说一句,如果你标记答案是正确的,如果它帮助你解决你的问题;) – 2013-04-22 23:18:00

+0

是的,StackOverflow不会让我把它标记为已回答,直到一定数量时间已经过去了。 – Seriamus 2013-04-22 23:21:25

0

什么,你应该做的,而不是使用数据库所以这将是PHP的include函数。 假设你有一个文件下面的代码调用的header.php

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

在其他每个文件的,你可以把

<?php 
    include "header.php"; 
?> 
1

那么它看起来像你对我所寻找的是一个排序模板系统。实现此目的的最简单方法是在HTML中使用特定的关键字,然后您的PHP可以提取和替换。

例如,您可以使用str_replace()函数。

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

在这个例子中,你会到处插入你想要的$userName变量出现在字符串{__USERNAME__}


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