PHP richtig Includen
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
anpassen
aufrufen
befehl
beispiel
browser
code
datei
grad
header
idee
index
liegen
ordner
pfad
problem
punkt
verstehen
verzeichnis
webseite
zeigen
-
dikay schrieb:
hab noch ne andere Idee, die ist aber bissl umständlich...
Du kannst doch aber immer bevor er die Menü-punkte schreibt dein include path anpassen.
Das würde doch dann deinProblem lösen oder?
Ja umständlich bestimmt, weil ich grad nix verstehen! Zeigen am Code bitte...
Gruß,
Webdesignerin -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Am besten Du gibts bei include() absolute Pfade an, wenn Du Dir nicht sicher bist wie Du sie an welcher stelle aufrufen musst:
<?php // AbsolutenPfad -> define('_absPath', dirname(__FILE__).'/'); ?>
In der Konstante _absPath ist nun der absolute Pfad zu der Datei gespeichert in der die Konstante gesetzt wurde. Also wenn Du die Konstante zum Beispiel in "/www/website/index.php" erstellt hast, verweist "_absPath" auf "/www/website/". Liegt jetzt eine Datei zum Beispiel in "/www/website/inc/" gehst Du wie folgt vor um zum Beispiel menu.php zu laden:
<?php // AbsolutenPfad -> define('_absPath', dirname(__FILE__).'/'); // MenuLaden -> include(_absPath.'inc/menu.php'); ?>
Wichtig ist dass die Konstante möglichst im Basisverzeichniss der Seite erstellt werden sollte und nicht irgendwo im Code. Das kann sonst nur zu Problemen führen. Im besten Fall in der index.php des Basisverzeichnisses, so kannst Du Dir sicher sein dass Du den richtigen Pfad hast. -
webdesignerin schrieb:
dikay schrieb:
hab noch ne andere Idee, die ist aber bissl umständlich...
Du kannst doch aber immer bevor er die Menü-punkte schreibt dein include path anpassen.
Das würde doch dann deinProblem lösen oder?
Ja umständlich bestimmt, weil ich grad nix verstehen! Zeigen am Code bitte...
Gruß,
Webdesignerin
<li> <a href="index.php">Startseite</a></li> </ul> <ul> <li> <a href="#">Hauptmenü 1</a> <ul> <?php ini_set("include_path", "./Ordner_1/submenu.php"); ?> <li><a href="Ordner_1/submenu.php">Submenü 1</a></li> <?php ini_set("include_path", "./Ordner_2/submenu.php"); ?> <li><a href="Ordner_2/submenu.php">Submenü 2</a></li> <?php ini_set("include_path", "./Ordner_3/submenu.php"); ?> <li><a href="Ordner_3/submenu.php">Submenü 3</a></li> <?php ini_set("include_path", "./Ordner_4/submenu.php"); ?> <li><a href="Ordner_4/submenu.php">Submenü 4</a></li> </ul> </li> </ul>
Nicht getestet. :D So hab ich mir das vorgestellt. -
Also, ich glaube du hast dir einfach und schlicht keine so gute Datenstruktur gewählt.
Also, ich möchte dir mal erklären, die ich allgemein die Daten bei kleineren Projekten organisiere:
Ich habe eine index.php in der ich oben einige Variablen festlege, beispielweise $out, $error und $info oder auch $js.
In diese Variablen werden nun die Ausgaben der einzelnen Seiten geschrieben.
Um diese ausgaben zu erhalten require (oder include) ich die einzelnen Dateien mit Hilfe eines switch-case oder eines Arrays.
Wenn man eine Navi hat, in der aktuelle Position markier werden soll. Beziehungsweise Submenüs geöffnet werden sollen, legt man sich ein array mit den einzelnen Seiten an und fügt zusätzlich noch eine Variable wie $actualpage ein. Abhängig von dieser kann man dann Menüs aufklappen oder markieren.
Hoffe konnte dir helfen. -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage