Ich habe auf dem root, Hauptverzeichnis die includes: head.php und footer.php
Alle Seiten funktionieren, da sie auch im Hauptverzeichnis sind.
Allerdings habe ich jetzt einen Unterordner namens gb, worin die Dateien des Gästebuches sind.
Ich möchte aber, dass das Design vom Hauptverzeichnis/head.php und ./footer.php geholt wird.
Wie muss der Code aussehen, dass er nach den beiden Dateien im Hauptverzeichnis sucht?
Mein Code sieht so aus: <? include ("head.php"); ?>
Muss ich da den absoluten Pfad eingeben? Wenn ja, es hat nicht funktioniert.
„.“ = aktuelles Verzeichnis (include ‚./head.php‘; entspricht mehr oder weniger include ‚head.php‘;, durchsucht aber nicht den Include-Path nach der Datei, sondern nur das aktuelle Verzeichnis – vermutlich hier nicht weiter interessant)
„…“ = übergeordnetes Verzeichnis („…/…/“ wäre also relativ vom aktuellen Verzeichnis aus betrachtet zwei Verzeichnisse „nach oben“)
Verzeichnisangaben in PHP sind zudem standardmäßig relativ zum Verzeichnis der zuerst aufgerufenen Script-Datei. Würdest du von einem Script im gb-Ordner ausgehend head.php einbinden und darin die Datei footer.php inkludieren wollen, müsstest du in head.php include ‚…/footer.php‘; schreiben, da footer.php zwar im selben Verzeichnis wie head.php liegt, aber von der zu Beginn aufgerufenen Datei im gb-Ordner aus betrachtet im übergeordneten.
Wie du auf meiner Seite sehen wirst, ist das Design da, aber der Navigation fehlen die Buttons.
Im head.php werden die Buttons ja verlinkt. Die Buttons sind im „Navigation“.
Normalerweise, weil der include head.php automatisch nach den Buttons im Ordner „Navigation“ schaut, auch die laden müsste.
Sobald ich dann auf Gästebuch klicke, sind wie geschrieben, die Buttons weg und die Navigation stimmt nicht mehr, denn ab jetzt wird die Navigation falsch verlinkt. Er sucht nach den php Seiten im Ordner „gb“.
Was mache ich falsch?
Links auf Ressourcen (Bilder, Stylesheet-Dateien, …) im HTML-Code nach Möglichkeit immer absolut („/Navigation/Startseite.jpg“) angeben. Derzeit gibst du sie relativ zum aktuellen Verzeichnis an („Navigation/Startseite.jpg“). Das heißt, der Browser sucht nach einer Datei mit der URL „http://ajunkie.bplaced.net/gb/Navigation/Startseite.jpg“.
Perfekt.
Die Buttons werden jetzt angezeigt.
Wie mache ich das, dass wenn ich im Gästebuch bin und eine andere php Seite anklicke, sich die richtige öffnet und nicht im Ordner „gb“ selber gesucht wird?
Edit:
Meine Idee wäre das selbe zu tun, was du vorgeschlagen hast.
Die Php Seiten, z.B. index.php so /index.php zu schreiben.
Stimmt das?