Include und current, wie ist das möglich?

Hi,

wie kann man gleichzeitig include benutzen und für jede Seite im Menü, je nachdem wo man sich befindet, eine andere Farbe anzeigen? Kann man das mit irgendwelchen php „anweisungen“ machen, wenn ja, mit welchen?

Wie kann man das regeln?

l.g. & vielen dank

Ich verstehe die Frage nicht richtig, aber wenn ich das richtig verstehe, dann kannst du mit der IF Anweisung abfragen auf welcher Seite der Nutzer ist und wenn diese dem Navigationseintrag entspricht sie mit CSS entsprechend einfärben.

Danke, werde mich dann mal damit beschäfigen und mich melden, fals es Probleme gibt!

Kein Ding. Schau dir dazu am besten die Variable _SERVER[‚HTTP_HOST‘] und andere Servervariablen an.

Das kannst du ganz leicht mit PHP lösen. Switch-case sollte ausreichen.

Was ist denn für einen neuling in php erstmal besser, bzw. leichter
[ul]
[li]Switch-case[/li][/ul]
oder
[ul]
[li]if Abfrafe[/li][/ul]
?

Leichter? Weder das eine noch das andere. Ich wüsste nicht, was an switch schwerer sein sollte.

In dem Falle würde ich wohl switch/case vorziehen.

Ein Switch ist auf jeden Fall schneller.

Das hört man immer wieder, aber wir reden dann von Microsekunden. Das dürfte also nicht das Argument sein. :wink:

Es kommt darauf an, wie viele „if“ verschachtelt sind. :wink:

Wieviel hundert vielleicht.
Vom Stil ist das switch aber wahrscheinlich dennoch zu bevorzugen.

Ein anderes Argument für den Switch:

Er ist übersichtlicher

Ich habe ja nichts gegen switch, ganz im Gegenteil, allerdings ist für mich der Geschwindigkeitsvorteil irrelevant

Es kommt auf die Menge der Aufrufe an.

Dann schreib’ mal ein Testprogramm und lass’ dich überraschen! Oder guck mal hier: http://www.php-performance.de/kontrollstrukturen-bedingungen-if-switch-ternaer.php

Richtig, was die meisten nicht wissen ist dass Switch/Case langsamer ist als If/Else.
Auf die paar Millisekunden kommt aber es aber höchstens auf Seiten die absolut essenziell sind, wie bspw. Google.

Für den Ottonormalverbraucher ist Switch/case aber sicherlich besser als If/Else, aufgrund der übersichtlichen Struktur.

Ich weiß von C++, dass ein Switch schneller ist als If/Else, wenn es bei PHP anders ist, dann habe ich jetzt etwas dazu gelernt.

Als Nicht-PHP’ler behaupte ich jetzt mal, dass eine Kontrollstruktur hier überflüssig ist. Statt dessen kann man aus dem extrahierten Teil der URL eine dynamische Variable bauen.
[PHP]$sub_page = end(explode(‚/‘, $_SERVER[‚REQUEST_URI‘]));
$sub_page = reset(explode(‚.‘, $sub_page));
$$sub_page = „current“;[/PHP]

[HTML]

[/HTML]

Vielen Dank für dein praktisches Beispiel und an alle anderen für ihre Diskussion über meine Frage :slight_smile:
Werde mich dann auch genauert mit php beschäftigen müssen, da führt anscheinend kein weg dran vorbei. :wink: