我有一个PHP菜单,我只需通过
包含<?php include_once("includes/blog.php") ?>
如果链接页面正在浏览器中显示,我正试图弄清楚如何重新格式化菜单中的链接文本 - 例如(简单例子)
PHP插入以下链接:
一二三四
如果单击四并且页面已加载,我希望它显示为
一二三四
这可能吗(如果我错过了什么,我已经道歉了。)
答案 0 :(得分:4)
您可以通过多种方式执行此操作,$ _GET vars,$ _SESSION数据,阅读当前页面网址,
这是一种方法....
建立您的链接:
//On your actual page
<style>
.bold{ font-weight:bold; }
</style>
//In includes/blog.php
<?php
echo '<a href="pageone.php?id=1" class="'.(($_GET['id'] == "1") ? 'bold' : '').'">One</a>';
echo '<a href="pagetwo.php?id=2" class="'.(($_GET['id'] == "2") ? 'bold' : '').'">Two</a>';
?>
您需要将其格式化为您拥有的任何内容,但希望您明白这一点。
这部分class="'.(($_GET['id'] == "1") ? 'bold' : '').'"
表示,如果$ _GET ['id']等于1,则回显'粗体'。因此,如果我们点击的链接是pageone.php?id = 1,我们知道我们将有一个名为'id'的$ _GET变量等于1.所以我们的类看起来像:class="bold"
。如果我们的网页上有.bold{ font-weight:bold; }
,那么我们选择的链接将为粗体。
如果您没有使用任何跟踪您的网页的框架,那么您可以使用$ _SERVER ['PHP_SELF']与您的链接进行匹配。
请参阅手册:http://www.php.net/manual/en/reserved.variables.server.php
如果有人输入http://www.example.com/pageone.php
$ _ SERVER ['PHP_SELF']将包含/pageone.php
所以你可以做更多的检查,如
if($ _ SERVER ['PHP_SELF'] =='/ pageone.php'){echo'bold'; }
这是一种非常难看的方式,尽管它可能适用于您的目的。