에있어 경우에 지금>$currenturl = $_SERVER['REQUEST_URI']
, 난 당신이 내 정확한 비교를 가지고 있는지 확인이가 if
. 당신은 $urlpage
를 설정했지만 $currenturl
비교 :
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
코드 :
<?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>
basename ($ _ SERVER [ 'PHP_SELF']); –