我的菜单在我的一个目录中都是一致的。例如,
主页 文件页面 照片页面
我希望能够在每个页面中包含这样的菜单,我就完成了。但是,这次它有点不同,因为即使目标是相同的,各个页面生成的链接也必须不同。以链接到galleries.php页面为例:
From the Home page: <a href='galleries.php?id=<?=$id?>'>
From the Documents page: <a href='galleries.php?id=<?=$doc[lid]?>'>
From the Photos page: <a href='galleries.php?id=<?=$photo[lid]?>'>
From the Productss page: <a href='galleries.php??id=<?=$product[lid]?>'>
&GT;
我现在要做的是将菜单复制并粘贴到每个文件中,并根据需要更改URL,但这不是一个非常令人满意的解决方案。如何在菜单本身中构建某种if语句,以便包含菜单的页面生成正确的链接?
答案 0 :(得分:0)
$_SERVER['REQUEST_URI']
可以为您提供当前所在的页面,您可以使用它来确定您应该链接到的位置。
示例:
function displayGalleryId($lid) {
$uri = $_SERVER['REQUEST_URI'];
switch ($uri) {
case '/home.php':
$link = $id;
break;
case '/documents.php':
$link = $doc[$lid];
break;
// Others here...
default:
$link = 'gallery.php';
}
return $link;
}
示例用法:
<a href='galleries.php?id=<? displayGalleryId($lid); ?> '>
答案 1 :(得分:0)
你需要使用$ _SERVER全局数组.. 你可以使用$ _SERVER ['SCRIPT_FILENAME']或$ _SERVER ['REQUEST_URI']
它可以像
function getLink($id)
{
$uri = $_SERVER['REQUEST_URI'];
$is_page_home = (strstr($uri, 'home') === true)?true:false;
$is_page_photos= (strstr($uri, 'photos') === true)?true:false;
$is_page_document = (strstr($uri, 'document') === true)?true:false;
if( $is_page_home )
{
$urlid = $id
}
if( $is_page_photos)
{
$urlid = $doc[$id]
}
if( $is_page_document )
{
$urlid = $photo[$id]
}
return $urlId
}
$urlId = getLink($id)
<a href='galleries.php??id=<?=$urlId?>'>
了解有关服务器变量的更多信息http://php.net/manual/en/reserved.variables.server.php