Php Header aus mehreren Dateien laden
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
abfragen
beachten
button
code
funktion
funktioniert danke
gleiche header
kleinschreibung
machen
setzen
sinn
string
super idee
target
test
unterseite
url
vergleich
werte ausgeben
zugeordneten button
-
Hey, ich habe ein kleines Problem und hoffe dass mir hier jemand helfen kann :)
Folgendes, ich habe mehrere Internetseiten die das gleiche Header benutzen sollen.Deshalb möchte ich das Header in eine Datei auslagern und es dann über php laden. Soweit simple mit Include... ABER: Der Button der auf die aktuelle Seite verlinkt hat eine Active class und ändert die Farbe des buttons. ich brächte also Ideen wie man auch noch abfragen kann welche Seite offen ist und dem zugeordneten Button die class aktiv setzen kann.
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Mit "mehrere Internetseiten" meinst du mehrere Unterseiten einer Webpräsenz.
Prinzipiell könntest du z.B. $_SERVER['SCRIPT_NAME'] abfragen und je nach Wert eben die Klasse anders setzen. -
muellerlukas schrieb:
Prinzipiell könntest du z.B. $_SERVER['SCRIPT_NAME'] abfragen und je nach Wert eben die Klasse anders setzen.
Danke Super Idee :)
So habe ich es jetzt probiert:
<?php function klasse( $zielscript) { $script = $_SERVER['SCRIPT_FILENAME']; $aktfilename = basename($script).PHP_EOL; $vergleich = strcasecmp((STRING) $aktfilename,(STRING) $zielscript); if($vergleich == 0) { echo "class='active'"; } else{ echo ""; } } ?>
Frage, wieso geht der String vergleich nicht? Habe beide Werte ausgeben lassen sind genau gleich, also Test.php = Test.php. Warum gibt er mit bei $vergleich 1 aus?
LG
Beitrag zuletzt geändert: 18.8.2018 12:48:41 von sidezockinglp -
Hast du ein Beispiel wie du die Funktion aufrufst?
Beim Vergleich Groß- und Kleinschreibung nicht zu beachten macht so auch keinen Sinn. Bei den meisten Dateisystemen wird unterschieden. So auch hier.
Kurz ausm Kopf könntest dus so machen:
function printClass($target) { return ((substr($_SERVER['SCRIPT_NAME'], 1) == $target) ? 'active' : ''); }
Im Code verwendest du dann z.B. einfach.
<a href="test.php" class="menuitem <?=printClass('test.php'); ?>">Foobar</a>
Beitrag zuletzt geändert: 18.8.2018 14:01:45 von muellerlukas -
Deine Funktion funktioniert, Danke :)
muellerlukas schrieb:
Beim Vergleich Groß- und Kleinschreibung nicht zu beachten macht so auch keinen Sinn. Bei den meisten Dateisystemen
Hab am Anfang auch strcmp benutzt, habs dann geändert weil ich testen wollte ob es so geht, aber beides ging nicht
aufgerufen hab ich es mitklasse('test.php')
LG -
sidezockinglp schrieb:
Deine Funktion funktioniert, Danke :)
Hab eben noch das "nope" raus editiert. War noch vom Test drin. ;) -
muellerlukas schrieb:
Hab eben noch das "nope" raus editiert. War noch vom Test drin. ;)
No Problem
Hab ich auch gesehen und raus genommen
LG -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage