-1

我的菜单在我的一个目录中是一致的。例如,

主页 文档页面 照片页面

我希望能够在每个页面中包含这样的菜单,我就完成了。但是,这一次有点不同,因为即使目的地相同,各个页面生成的链接也必须不同。以gallery.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]?>'>

>

我现在正在做的是将菜单复制并粘贴到每个文件中,并根据需要更改 URL,但这不是一个非常令人满意的解决方案。如何在菜单本身中构建某种 if 语句,以便包含菜单的页面生成正确的链接?

4

2 回答 2

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

于 2013-03-24T12:03:44.373 回答
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); ?> '>
于 2013-03-24T11:52:39.490 回答