templates und Ordnerstruktur

Bene

Bene

Mitglied
Thread Starter
Dabei seit
22.07.2003
Beiträge
20
Reaktionspunkte
0
hallo,
ich komme irgendwie noch nicht ganz mit meinen templates zurecht.
Habe eine index.php in die ich verschiedene php-Dateien (templates) einfüge (include) Nun ist es so, das ich alle Templates für den Admin-Bereich im Ordner "admin_inc" liegen habe, alle anderen templates liegen im Ordner "inc". Auch die Serververbindung liegt unter "inc", weil sie häufig benutzt wird. Die index.php liegt in keinem UnterOrdner, sondern auf der ersten Ebene auf dem Server.
Problem: Ich kann die Serververbindung nicht innerhalb der scripts, die unter "admin_inc" liegen einfügen.

Ich habe das so probiert:
include ("../inc/server_verbindung.inc");

Da aber die index.php auf der ersten Ebene liegt und die scripts ja dort includet sind, findet er die Datei nicht.

Auch wenn ich die index.php innerhalb der scripts, die unter "admin_inc" liegen innerhalb eines Formulars aufrufen will.
action='../index.php'
wird die Datei nicht gefunden.

Ich blick nicht mehr durch.
Kann mir da jemand mal Grundsätzlich Tipps geben, wie man das am gescheitesten regelt, oder muß ich alles ohne Unterverzeichnisse machen?

Danke fürs lesen
 
Hallo,

verwende doch anstatt include include_once. Ist besserer Stil und stellt sicher, das du die Datei nur einmal einbinndest.
Oder benutze require_once. Das stellt sicher das die Datei auch existiert. Ansonsten wird nämlich das Skript mit einem Fatal Error abgebrochen. Bei include_once wird nur eine Warnung erzeugt.
Nur als kleiner Tipp.

Dann zu deinem Problem. Lede doch die Daten für die Serververbindung als Globals in deiner index.php ab. Somit kannst zu jeder Zeit über das Assoziativ-Array $Globals[''] jederzeit auf deine Daten zugreifen.

Ausserdem solltest du beachten ( von http://php4.globe.de/include/ ):
<schnipp>
Beim Einbinden einer Datei wechselt der Parser vom PHP-Modus zu Beginn der Zieldatei in den HTML-Modus und kehrt am Ende der eingebunden Datei wieder in den PHP-Modus zurück. Deshalb muss jeglicher Code innerhalb der eingebundenen Datei, der als PHP-Code ausgeführt werden soll, von gültigen PHP-Start- und Ende-Tags eingefaßt sein.
<schnapp>


Ich muss wieder inn die Sonne.....

Gruss
Carsten
 
Danke

...für die schnelle Antwort.
Habe allerdings auf die schnelle (bin etwas unter Zeitdruck) noch nix hinbekommen und erstmal ohne Unterverzeichnisse weiter gearbeitet.

Assoziativ-Array $Globals[''] werde ich mir nochmal genauer reinziehen...

Guter Tipp mit include_once - kannte ich noch nicht...

Aber das Problem ist nur, das der Pfad mit ../ nicht funktioniert. Das bedeutet ja ein Verzeichnis zurück gehen - und wenn die inc-datei in die index eingebunden ist, welche ja -eine Ebene zurück- liegt, dann will er noch ne Ebene zurück und findet die Datei eben nicht.

Und wenn ich ../ weglasse findet er sie auch nicht:-(

Naja, wie dem auch sei...
 
Versuch es mal mit absoluten Pfaden (z.B. /var/www/htdocs/meineseite/inc/bla.php)
 
Hm komische Sache ... und das funktioniert auch nicht, wenn Du Folgendes
angibst: include ("inc/server_verbindung.inc"); ?

Was gibt er denn genau als Fehlermeldung aus? Vielleicht stimmt ja auch
was mit den Rechten nicht, wobei das eigentlich eher unwahrscheinlich ist,
aber man sollte ja immer jede Möglichkeit in Betracht ziehen.


Gruß
Delmar
 
Zurück
Oben Unten