2016-07-29 2 views
0

Ich habe dies.Kategorie mit Klasse aktiv oder nicht in PHP

<?php if (stripos($_SERVER['REQUEST_URI'], 'portfolio?cat=$cat_name')){ ?> 
     <li class="active" role="category"><a href="portfolio.php?cat=<?php echo $cat_name; ?>"><?php echo $cat_name; ?></a></li> 
<?php } else { ?> 
     <li role="category"><a href="portfolio.php?cat=<?php echo $cat_name; ?>"><?php echo $cat_name; ?></a></li> 
     <?php } ?> 

Ich möchte nur die typische aktive Kategorie machen, sondern um die Parameter zu bekommen.

Danke.

+2

Portfolio? Cat = $ CAT_NAME 'ausgibt, dass Zeichenkette. Verwenden Sie doppelte Anführungszeichen, wenn Sie die Variable verwenden möchten. – Bert

Antwort

0

Zuerst ändern, Bert Kommentar über die einfachen Anführungszeichen, wird es die wörtliche cat_name mit einem $ vor, nicht der Wert von $cat_name wie Sie wahrscheinlich annehmen.

Auch, warum Sie nicht nur verwenden:

if($_REQUEST['cat'] == $cat_name) { // ... 

Ich meine, es ist schon eine Abfrage param, die in $_REQUEST endet (es sei denn, Sie seltsam Serverkonfiguration haben, dann sollte es wohl $_GET sein) .

Auch unterscheiden Sie nicht zwischen den beiden wahrscheinlich Rückgabewerte von stripos, die in Ihrem Fall sind 0 und false (die eine Bedeutung haben, beginnt die Nadel an der Position 0 des Heuhaufen, und die andere, dass die Nadel wasn‘ t gefunden). So zumindest hätte man zu stripos(...) !== false

+0

Genau! Danke Kumpel :) Ich benutze aber was auch immer! –

0

Verwenden doppelte Anführungszeichen hier ' zu "

<?php if (stripos($_SERVER['REQUEST_URI'], "portfolio?cat=$cat_name")){ ?> 
0
<?php if($_GET['cat'] == $cat_name){ ?> 
     <li class="active" role="category"><a href="portfolio.php?cat=<?php echo $cat_name; ?>"><?php echo $cat_name; ?></a></li> 
     <?php } else { ?> 
     <li role="category"><a href="portfolio.php?cat=<?php echo $cat_name; ?>"><?php echo $cat_name; ?></a></li> 
     <?php } ?> 
Verwandte Themen