检查URL =所需的URL(PHP)

时间:2014-12-08 00:19:42

标签: php html

我试图检查当前网址是否等于创建链接类active(Bootstrap)所需的网址。

实施例

<?php
    If ($currenturl = "show.php?name=123") {
      ?><li class="active"><a href="show.php?name="123"">123</a></li><?php
    }else{
        ?><li class=""><a href="show.php?name="123"">123</a></li><?php
    }
?>

当前网址 - &gt; $currenturl = $_SERVER['REQUEST_URI']

现在,如果我show.php?name=456

,我就会这样做

see

2 个答案:

答案 0 :(得分:4)

确保您在if内进行了正确的比较。您当前正在使用赋值运算符:

注意区别:

if($currenturl = "show.php?name=123") // assignment =
  // changes $currenturl to "show.php?name=123"
  // and then tests if("show.php?name=123") equivalent to if(true)
  // see also http://stackoverflow.com/questions/5940626/evaluation-of-assignment-in-php

if($currenturl == "show.php?name=123") // comparison ==

第二:您已设置$urlpage,但比较$currenturl。使用$urlpage

代码:

<?php $urlpage = $_SERVER['REQUEST_URI']; ?>
<?php if ($urlpage == "/show.php?nom=123") { ?>
    <li class="active"><a href="/show.php?nom=123">123</a></li>
<?php } else { ?>
    <li class=""><a href="/show.php?nom=123">123</a></li>
<?php } ?>

使用三元运算符的替代方法:

<li <?php echo ($urlpage == "/show.php?nom=123") ? 'class="active"' : ''; ?>><a href="/show.php?nom=123">123</a></li>

适用于所有页面:

<?php $pages = array('123', '456', '789'); ?>
<ul>
    <li <?php echo (!isset($_GET['nom']) ? 'class="active"' : ''); ?>><a href="show.php">Home</a></li>
    <?php foreach($pages as $page): ?>
        <?php if (isset($_GET['nom']) && $_GET['nom'] == $page) { ?>
            <li class="active"><a href="/show.php?nom=<?php echo $page; ?>"><?php echo $page; ?></a></li>
        <?php } else { ?>
            <li class=""><a href="/show.php?nom=<?php echo $page; ?>"><?php echo $page; ?></a></li>
        <?php } ?>
    <?php endforeach; ?>
</ul>

答案 1 :(得分:0)

另一种方法是使用$ _GET

if(isset($_GET['name']))
 if($_GET['name'] == '123') 
  ...

等等