PHP菜单 - 页面条件格式

时间:2011-10-13 09:28:29

标签: php hyperlink format conditional

我有一个PHP菜单,我只需通过

包含
<?php include_once("includes/blog.php") ?>

如果链接页面正在浏览器中显示,我正试图弄清楚如何重新格式化菜单中的链接文本 - 例如(简单例子)

PHP插入以下链接:

一二三四

如果单击四并且页面已加载,我希望它显示为

一二三

这可能吗(如果我错过了什么,我已经道歉了。)

1 个答案:

答案 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'; }

这是一种非常难看的方式,尽管它可能适用于您的目的。