Auge: Include verhindern

Beitrag lesen

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