2016-12-30 3 views
0

Ich muss überprüfen, welcher Listenpunkt im Menü aktiv ist und ich würde gerne wissen, ob es einen Weg in PHP gibt?PHP: Wie kann ich überprüfen, welcher Navbar Punkt aktiv ist?

<ul class="menu"> 
    <li class="a">...</li> 
    <li class="b">...</li> 
    <li class="c">...</li> 
</ul> 

Wie kann ich überprüfen, ob eine aktive oder b oder c ist, usw.?

In meinem Beispiel meine ich, wie kann ich die <li> geben, die Sie eine class="..." ausgewählt haben, aber nur diese.

Danke für Hilfe :).

+0

Was möchten Sie erreichen? Sie könnten das DOM in PHP lesen und das mit e auswählen. G. eine Klasse namens 'active' mit einem DOM-Parser, aber ich bezweifle, dass dies dein Ziel ist. – KhorneHoly

+0

Was meinst du mit "aktiv"? Sie können Clientaktivitäten nicht direkt aus PHP lesen. PHP wird nur serverseitig ausgewertet, und Sie müssen JavaScript verwenden, um clientseitige Aktivitäten zu verarbeiten. – SOFe

+0

PHP kann zu einem HTML verwendet werden, bevor es an den Client gesendet wird, aber nachdem Sie die Webseite sehen, müsste Javascript für diesen Zweck verwendet werden. Dennoch wäre es gut zu wissen, was der Inhalt des li-Elements ist und warum man einen aktiven finden muss. Sie können auch class = "active" zu einem Element hinzufügen, um es zu finden und eine Aktion auszuführen. – isa424

Antwort

0

Im Notfall können Sie dies mit PHP-Sitzungen tun, setzen Sie einfach eine Variable jedes Mal, wenn ein Menü umgeschaltet wird.

Die Sitzungsvariable sollte nahe dem Anfang der Seite eingestellt werden, auf der sie verwendet wird, so dass PHP sie erkennen kann, bevor das Menü auf der Seite geladen wird.

Hier ist ein kleiner Ausschnitt zur Inspiration, Sie könnten dies auf viele verschiedene Arten tun.

<? 
session_start(); 

if(isSet($_GET['switch'])) { 
    $_SESSION['menuPage'] = $_GET['switch']; 
} 
$menuPage = $_SESSION['menuPage']; 

echo $menuPage."<br>"; 

?> 

<ul class="menu"> 
    <li <? if(strcmp($menuPage,"a") == 0) { echo "active"; } ?> class="a"><a href="?switch=a">A</a></li> 
    <li <? if(strcmp($menuPage,"b") == 0) { echo "active"; } ?> class="b"><a href="?switch=b">B</a></li> 
    <li <? if(strcmp($menuPage,"c") == 0) { echo "active"; } ?> class="c"><a href="?switch=c">C</a></li> 
</ul> 

Hinweis: Sie mögen eine Sitzung verwenden und nicht eine normale Variable, so dass der $ _GET für das Menü nicht ständig in der URL vorhanden sein muss.

0

Vielleicht möchten Sie in die Variable $_SERVER, genauer $_SERVER['REQUEST_URI']. Dies zeigt Ihnen die angeforderte URL. Auf dieser Basis können Sie prüfen, welcher Menüpunkt aktiv sein soll.

Verwandte Themen