MrB: Include verhindern

Moin zusammen,

Muss noch mal nerven.

Wie kann ich verhindern das Dateien die ich in der index.php include (nav links und top) nicht immer includet werden. Es soll also nur der Content angezeigt werden und nicht die navs links und top.

Ich finde da keine Lösung außer alles manuell für jede Seite einzeln zu lösen.

Es geht darum das ich die Header Funktion benutzen muss und durch das includen von dem nav links sind schon Daten gesendet worden.

Hat da einer eine Idee??

Weis jetzt auch nicht genau welchen Code ich posten soll, aber wenn Ihr was braucht sagt bescheid. Sry.

  1. Hello,

    Wie kann ich verhindern das Dateien die ich in der index.php include (nav links und top) nicht immer includet werden. Es soll also nur der Content angezeigt werden und nicht die navs links und top.

    Welche Dateien werden denn "included" und warum und wann findet das statt?

    Wie lauten denn al Beispiel fünf unterschiedliche URL's?
    Wie lauten die Post-Parameter zu diesen URL's?

    Welche Paramter haben doe Requests überhaupt? -> GET, POST, COOKIES, usw.

    Sry.
    Liebe Grüße aus dem schönen Oberharz

    Tom vom Berg

    --
    Nur selber lernen macht schlau
    http://bergpost.annerschbarrich.de
  2. Hallo

    Wie kann ich verhindern das Dateien die ich in der index.php include (nav links und top) nicht immer includet werden. Es soll also nur der Content angezeigt werden und nicht die navs links und top.

    Du musst verhindern, dass die Includes *nicht* immer includet werden? Verfranst?

    Ich finde da keine Lösung außer alles manuell für jede Seite einzeln zu lösen.

    Es geht darum das ich die Header Funktion benutzen muss und durch das includen von dem nav links sind schon Daten gesendet worden.

    Hat da einer eine Idee??

    Ja, stelle dein Programm um. Informiere dich über das EVA-Prinzip, welches besagt, dass *zuerst* alle Eingaben "eingesammelt" werden, *dann* die Verarbeitung stattfindet und erst *zuletzt* die Ausgabe erfolgt. Wenn du diesem Prinzip folgst, kommst du nicht in die Bredouille, dass, wie in deinem Fall, eine Ausgabe vor dem Senden eines Headers erfolgt.

    Ein kurzes Beispiel:

    include.php (welche bei dir offensichtlich HTML-Code enthält oder erzeugen soll):

    <?php  
    $output["titel"] = "[code lang=html]<h1>Seitenüberschrift</h1>
    ~~~";  
      
    function baue\_navigation() {  
    // Hier könnte die Navigation unter Berücksichtigung  
    // der aktuell geladenen Seite zusammengebaut werden  
      
    // Die mit HTML-Quelltext zu füllende Variable  
    $quellcode = "";  
      
    // Hier würde der Programmablauf stehen.  
      
    // Zurückgeben des fertigen HTML-Quelltextes  
    return $quellcode;  
    }  
      
    ?>[/code]  
      
    index.php (hier soll include.php eingefügt werden):  
    ~~~php
    <?php  
      
    // Eingabe:  
    // Include erfolgt, der in der Variable enthaltene  
    // HTML-Code wird aber noch nicht dargestellt.  
    include_once("include.php");  
      
    // Verarbeitung:  
    // irgendwelche Prüfungen, die zum senden des Headers führen.  
    if (dieses() or jenes()) {  
    header("WasAuchImmer");  
    }  
      
    // Ausgabe:  
    // Ausgabe des in der include.php definierten HTML-Codes.  
    echo $output["titel"];  
    echo baue_navigation();  
      
    ?>
    

    Tschö, Auge

    --
    Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
    Terry Pratchett, "Wachen! Wachen!"
    Veranstaltungsdatenbank Vdb 0.3
  3. Hallo,

    Wie kann ich verhindern das Dateien die ich in der index.php include (nav links und top) nicht immer includet werden.
    Ich finde da keine Lösung außer alles manuell für jede Seite einzeln zu lösen.

    if(){ (..) }else{ (..) } in der index.php

    Es geht darum das ich die Header Funktion benutzen muss und durch das includen von dem nav links sind schon Daten gesendet worden.
    Hat da einer eine Idee??

    Du musst dein System überarbeiten in der du die Reihenfolge für header und Ausgabe bestimmst.
    Wenn du einen Header senden willst, kannst du die Entscheidung dazu nunmal nicht erst 'mitten' im (ausgegebenen) Dokoment treffen.

    Weis jetzt auch nicht genau welchen Code ich posten soll, aber wenn Ihr was braucht sagt bescheid. Sry.

    Es wär schon gut zu wissen warum die linke Navigation vor deinem header kommt.

    Grüße, Matze

  4. THX ALL,

    Hab einfach am Schlauch gestanden. Hab an der falschen Stelle includet. Jetzt gehts !

    Danke an alle die mir auf die Sprünge geholfen haben. Manchmal ist man aber auch sowas von eingeschränkt :-)