使用当前URL参数来操作导航菜单

时间:2018-05-01 19:47:32

标签: php url parameters navigationbar isset

我正在开发一个只有PHP的小网站。

是否可以使用用户访问网站的URL参数更改菜单链接?

用户使用以下网址访问网站:

http://localhost/subpages/index.php?page=timeline&name=kay

因此,如果用户名是标记,则菜单应更改为aboutmark而不是aboutkay。

    <html>
      ..
        <li class="nav-item" role="presentation"><a class="nav-link" href="profilepages/index.php?page="<? 'about'.$name ?> Über mich</a></li>
        <li class="nav-item" role="presentation"><a class="nav-link" href="profilepages/index.php?page="<? 'timeline'.$name ?> Timeline</a></li>
        <li class="nav-item" role="presentation"><a class="nav-link" href="profilepages/index.php?page="<? 'friends'.$name ?> Friends</a></li>
        <li class="nav-item" role="presentation"><a class="nav-link" href="profilepages/index.php?page="<? 'photos'.$name ?> Fotos</a></li>
      ..
    </html>

我更改网站主要内容的代码如下:

<?
    if ((isset($_GET['page'])) && (isset($_GET['name'])))
               {
                 $page = $_GET['page'];
                 $name = $_GET['name'];
               }
                else
                    {
                      $page = 'test';
                      $name = 'name';
                    }

     if ((preg_match('/^[a-z0-9\-]+$/', $page)) && (preg_match('/^[a-z0-9\-]+$/', $name)))
               {
                    $inserted = include('profilepages/'.$page.$name.'.php');

                    if (!$inserted)
                    echo('Requested page was not found.');
                }
                 else
                    echo('Invalid parameter.');
                ?>

1 个答案:

答案 0 :(得分:0)

向我的一位朋友致敬。

只需获取网址的var ... name = var

通过

<?php $name = $_GET['name'];?>

并使用<?php echo $name ?>

像这样:

<li class="nav-item" role="presentation"><a class="nav-link" href="profilepages/index.php?page="<?php echo $name ?> Über mich</a></li>