PHP include Funktionsweise

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • PHP include Funktionsweise

    Hallo !

    Im Augenblick habe ich mit einem komischen Fehler zu kämpfen. Ich habe ein Skript programmiert, was ich modular aufgebaut habe und für PHP Anfänger auch leicht einzubinden ist. Ich habe php dateien gebastelt, die bestimmte Variablen erzeugen, und die ein Anfänger dann einfach per echo $variable in seinen html code einbindet. Allerdings bekomme ich neuerdings einen "header is already sent" error beim ausführen des skriptes. Frage: Was passiert eigentlich genau beim include Befehl ? Meine Module werden per include am Anfang von den php Dateien (z.B. index.php) eingebunden. Das Problem mit dem header trat erst dann auf, als beim praktischen Einsatz des Skriptes noch eine zusätzliche php datei eingebunden wurde, die nur html enthält. Sie enthält den Kopf der HTMl Seite, Menü etc. was jedesmal angezeigt werden muß. Ich hab den Verdacht, daß es wohl daran liegt, kann es mir aber irgendwie nicht erklären ... Das Skript funktioniert soweit. Hat da jemand ne Idee ?

  • #2
    Ich nehme an, dass du setcookie(),session_start() oder header()-Anweisungen benutzt. Diese laufen alle auf eine Modifizierung des HTTP-Headers hinaus. Sobald eine Ausgabe erfolgt ist, ist dies jedoch nicht mehr möglich. Lösung: Betreffende Anweisungen ganz den den Anfang oder Outputbuffering.

    CAT Music Files

    Kommentar


    • #3
      Ich benutze header Anweisungen, um nach dem Eintragen von datensätzen zu einer Url zu springen. Komischerweise wurde dann schon einer gesendet, wenn es zu dem Aufruf kommt. Zu diesem Zeitpunkt gab es noch keinerlei andere headeraufrufe sowie irgendwelcher html code... Wie funktioniert das mit dem Buffering, bringt mir das was ?

      Kommentar


      • #4
        Ganz an den Anfang ob_start()... nach der header()-Anweisung ob_end_flush().

        CAT Music Files

        Kommentar


        • #5
          Was macht nun die include Anweisung genau ? Wird da nur einfach der Quellcode der anderen Datei eingefügt oder passiert da noch mehr ?

          Kommentar


          • #6
            Die Datei wird komplett übernommen als wäre es Code der Datei selbst und natürlich auch ausgeführt falls es sich um PHP Code handelt.

            Kommentar


            • #7
              Toll, hab mein Fehler gefunden Die include Anweisung in der index.php war um eine Zeile nach unten gerutscht , das war alles ! Oh Mann ...

              Kommentar

              Lädt...
              X