Include verhindern
MrB
- php
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.
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
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
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
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 :-)