kostenloser Webspace werbefrei: lima-city


Php Header aus mehreren Dateien laden

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    sidezockinglp

    sidezockinglp hat kostenlosen Webspace.

    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
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. 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.
  4. Autor dieses Themas

    sidezockinglp

    sidezockinglp hat kostenlosen Webspace.

    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
  5. 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
  6. Autor dieses Themas

    sidezockinglp

    sidezockinglp hat kostenlosen Webspace.

    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 mit
    klasse('test.php')


    LG
  7. sidezockinglp schrieb:
    Deine Funktion funktioniert, Danke :)

    Hab eben noch das "nope" raus editiert. War noch vom Test drin. ;)
  8. Autor dieses Themas

    sidezockinglp

    sidezockinglp hat kostenlosen Webspace.

    muellerlukas schrieb:
    Hab eben noch das "nope" raus editiert. War noch vom Test drin. ;)

    No Problem
    Hab ich auch gesehen und raus genommen

    LG
  9. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!