kostenloser Webspace werbefrei: lima-city


PHP richtig Includen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo

    Bin schon ne Weile am Tüfteln wegen folgendem Problem:

    Hab ne Webseite in einem Unterverzeichnis meines Webspaces hier und ich bekomme einfach das dynmische PHP Menü nicht hin, weil ich wie folgt include...

    (ich denke jetzt einfach mal laut, vielleicht hilft's ja... :rolleyes:)

    <?php
    include("menue.php");
    ?>


    Und im Menü (menue.php) habe ich auch Unterrubriken und von dort kann man aber nicht auf die index.php.

    Geht nicht, weil:
    ... ich in dieser Datei eine andere Datei - aus einem ganz anderen Verzeichnis - einbinde.

    Auch jegliche versuche ein Ordnerverzeichnis höher anzugeben mit...

    ./menue.php


    bzw.

    ../menue.php


    ...sind fehlgeschlagen


    Ich dachte dann, so ginge es...

    <?php
    include($_SERVER['DOCUMENT_ROOT']."/menue.php");
    ?>


    Geht nicht, weil:
    ...das Skript ja mein Hauptverzeichnis hier auf Lima aufruft und nicht das Unterverzeichnis, wo die Webseite bzw. die menue.php liegt.


    Dan habe ich versucht den Pfad entsprechend zu ändern bzw. anzupassen, was töricht war... :holy:

    <?php
    include($_SERVER['DOCUMENT_ROOT']."/webseiten/homepage_1/menue.php");
    ?>


    Geht nicht, weil:
    ... folgende Fehlermeldung kam:
    >Parse error: syntax error, unexpected T_STRING, expecting ','<

    Jemand ne Idee warum es nicht funzt oder sogar ne Webseite hier von sich als Beispiel wo bzw. warum das geht, was bei mir nicht geht? :confused:


    LG
    Webdesignerin :angel:
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

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

  3. Ich versteh nicht ganz, was du willst?!

    Achso, liegt die Datei ein Verzeichnis höher oder darunter?

    include 'deinVerzeichnist/menu.php';


    oder

    include '../menu.php';


    Beitrag zuletzt geändert: 9.5.2009 12:40:28 von fvg
  4. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Aalsooo....

    Auszug aus meiner menue.php:

    <li> <a href="index.php">Startseite</a></li>
    </ul>
    
    <ul>
     <li>
    
     <a href="#">Hauptmenü 1</a>
        <ul>
    
          <li><a href="Ordner_1/Submenue_1.php">Submenü 1</a></li>
    
          <li><a href="Ordner_1/Submenue_2.php">Submenü 2</a></li>
    
          <li><a href="Ordner_1/Submenue_3.php">Submenü 3</a></li>
    
          <li><a href="Ordner_1/Submenue_4.php">Submenü 4</a></li>
    
        </ul>
    
      </li>
    
    </ul>



    In den Submenü-PHPs soll der PHP code fürs Menü rein, der einen Ordner weiter oben - im Hauptverzeichnis der Webseite - liegt.

    Aber wie muss der richtige include Code lauten? Ich meine, wenn der menue.php von der index.php included ist das ja was anderes, als wenn der von Submenü 1 darauf zugreifen will (Ordnerstruktur)... :slant:


    MfG
    Webdesignerin :angel:
  5. include() funktioniert so ähnlich als würdest Du den Code direkt in die Dateischreiben in der Du die Datei einfügst, nur mit der Ausnahme das vorher der PHP-Modus beendet wird. Sprich aus:
    <? include('bla.php');?>


    Wird:
    <? ?>{_inhalt von bla.php_}<??>



    Wenn man das beachtet kann fast nichts schief gehen.
  6. Hm... also eigentlich sollte dich ein
    include/require "../test.php";
    Ins vorherige Verzeichnis bringen.
    Wobei ich mir nicht ganz sicher bin, wie das mit Hierarchie aussieht...
  7. f************r

    Hi,

    ich würde das so machen:

    include('/home/webpages/lima-city/webdesignerin/html/gewünschter/Ordner/Datei.endung")


    MfG

    Steffen
  8. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Warum erscheint denn "undefined" wenn ich auf einer Unterseite bin? :scared:

    Die Pfade sind jetzt zwar richtig, aber die head.php wird nicht richtig included. Ich krieg die Krise! *heul* :-(

    MfG
    Webdesignerin :angel:
  9. vampiresilence

    Kostenloser Webspace von vampiresilence

    vampiresilence hat kostenlosen Webspace.

    Vllt schreibst du uns mal, wo genau sie welche Datei befindet, denn ehrlich gesagt blicke ich da nicht mehr durch.
    Was dir vllt hilft: Die Datei, die du includest wird dann von dem Ordner aus ausgeführt, in dem sich die includierende Datei befindet.
    Und der UNEXPECTED T_STRING ist kein including Fehler, sondern sowas wie
    $ variable = 'bla';

    also ein ganz normaler Schreibfehler, den du vllt mal suchen solltest. Es könnte also durchaus sein, dass dieser Code bereits zum Erfolg geführt haben könnte, wenn du den Schreibfehler korrigiert hättest.

    Liebe Grüße
    - VampireSilence
  10. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Nein, da bin ich mir sicher, ein Schreibfehler ist es nicht, bin die ganzen Dateien gerade nochmal durchgegangen. :redface:

    Kann mir denn keiner sagen, was ich machen kann, sodass der Code im Submenü nicht mehr verfälscht ist und alles richtig angezeigt wird. :confused:


    LG
    Webdesignerin :angel:
  11. Also, es wäre doch sehr hilfreich, wenn du nochmal genau sagen würdest welche Datei wo liegt und wann du sie wie einbindest.

    Ich hab das jetzt so verstanden:
    blablabla/index.php:
    include "menue.php";

    menue.php:
    include "../submenue.php"

    Wobei submenü.php im Ordner ./ liegt.

    Hab ich das richtig verstanden?
  12. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    nikic schrieb:
    blablabla/index.php:
    include "menue.php";


    Richtig. ;-)

    nikic schrieb:
    menue.php:
    include "../submenue.php"


    Nein, nicht ganz. Die menue.php beinhaltet folgendes:

    <li> <a href="index.php">Startseite</a></li>
    </ul>
    
    <ul>
     <li>
    
     <a href="#">Hauptmenü 1</a>
        <ul>
    
          <li><a href="Ordner_1/Submenue_1.php">Submenü 1</a></li>
    
          <li><a href="Ordner_1/Submenue_2.php">Submenü 2</a></li>
    
          <li><a href="Ordner_1/Submenue_3.php">Submenü 3</a></li>
    
          <li><a href="Ordner_1/Submenue_4.php">Submenü 4</a></li>
    
        </ul>
    
      </li>
    
    </ul>



    nikic schrieb:
    Wobei submenü.php im Ordner ./ liegt.


    Ja. Die Submenü.php liegt einfach eine(n) Ebene/Ordner tiefer.

    nikic schrieb:
    Hab ich das richtig verstanden?


    Scheint so! :biggrin:

    LG
    Webdesignerin :angel:
  13. So, und wo befindet sich das Problem nun...?
    Oder eher: Was hat das mit PHP zu tun. Du bringst die Submenüs ja in einem href rein.
  14. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Guten Abend ;-)

    Das ist ja egal wie ich mein Menü gestalte, es ist ja das Problem, dass nur die index.php die menue.php und head.php finden kann (gleiches Verzeichnis), aber die Submenue.php's können das eben nicht, da sie nicht im selben Verzeichnis wie die index.php liegen.

    Selbst, wenn ich meine CSS Dateien ins selbe Verzeichnis machen würde oder diese eben in jede PHP Datei einzeln einbinden würde, statt in der head.php. bleibt immer noch das Problem mit der Verzeichnisstruktur. (eine Seite kann die andere nicht aufrufen). So schlimm habe ich mich nun aber auch nicht wieder ausgedrückt! :rolleyes:


    LG
    Webdesignerin :angel:



  15. Mach uns mal einen Screenshot oder eine Dir List (als Baum) von deiner Verzeichnissstruktur, das ganze ist für mich einfach nur :confused:
  16. Du musst in den Submenue dateien doch nur anstatt z.b. include("header.php"); das machen: include("../header.php");

    Die Submenu Dateien werden doch dann im Browser aufgerufen oder?
    Wenn du dann da eine CSS Datei in der header.php zum Beispiel hast, solltest du eventuell den ganzen Pfad angeben (http:// ) weil die CSS Datei sich relativ auf den Pfad der im Browser aufgerufenen Datei bezieht
  17. t**k

    Also ich würde dir raten:

    Nenne die Datei in die du includen möchtest in
    bla.inc.php
    und und gidann als Code
    include("../bla.inc.php")
    ein.
    So sollte es klappen.
  18. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hallo zusammen :wave:

    Wo ist der Unterschied zwischen bla.php und bla.inc.php? :confused:
    Und warum sind die Pfade jetzt mit dem "base href" Befehl korrekt, aber wenn ich vom Untermenü z.B. die Hauptseite aufrufen will geht es nicht. Rufe ich die Hauptseite (index.php) direkt auf geht es, aber dann sagt er mir das gleiche, wenn ich die Unterseite aufrufen will - obwohl jetzt endlich die Pfade stimmen! :eek:


    LG
    Webdesignerin :angel:
  19. So also wenn ich das richtig verstehe ist der Link auf der angezeigten Seite falsch. Aber wie ist der Link denn dann. Der muss ja dann anders sein also denn den du angibst oder versteh ich da was falsch.

    Ich würde dir raten mal ein Includeverzeichnis anzugeben auch wenns eigentlich sinnlos ist. Hatte damit aber auch schon öfters Probleme wenn ich das nicht definiert habe. Also wenn alle Dateien im selben verzeichnis liegen kannste folgendes machen.

    <?php ini_set("include_path", "./"); ?>
  20. Autor dieses Themas

    webdesignerin

    Kostenloser Webspace von webdesignerin

    webdesignerin hat kostenlosen Webspace.

    Hmh... :slant:

    ...es scheint am Menü selber zu liegen. Ich habe ja der Ordnung halber eben NICHT alle Dateien im selben Verzeichnis sondern in sog. Themenordnern kategorisiert. Nun und da das includen ja so ist, als wäre die Datei direkt eingebunden, stimmen natürlich von Ordner zu Ordner einfach immer die Pfade nicht. Selbst mit base href oder Deinem Vorschlag, dikay. Auf der Startseite alles wunderbar, aber das war es dann schon auch. *heul*

    Ich muss wohl mein Menü ändern. :-( Kann mir dann jemand ein gutes Menü empfehlen, dass solche Ordnerhierarchien unterstützt (möglichst Drop Down und wo man im Menü ein Hintergrundbild, statt Farbe machen kann - wg. Button?


    LG und Danke dennoch für Eure Hilfe,
    Webdesignerin :thumb:
  21. 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?
  22. 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!