Variablen vor include wiedergeben

cater

Erfahrenes Mitglied
Hi,

in einer Webseite include ich den Inhalt der Seite quasi in die Mitte des Dokuments und dort erscheint dann auch der Inhalt. Nun will ich aber innerhalb der zu includenden Datei eine variable festelegen ($titel).
Dieser Titel sollte dann natürlich weiter oben im Haupt-Dokument angezeigt werden, wo die Datei in der die Variable festgelegt ist noch nicht eingelesen wurde.

Und den Inhalt in der include Datei auch in eine Variable zu packen wäre doof, da dadrin ja auch HTML Code und Sonderzeichen etc. vorkommen.

Wie kann ich das am Besten regeln? Ich hoffe ihr versteht was ich meine :rolleyes:

Grüße
Carlo
 
Hm... ich verstehe dein Problem, aber eine Lösung hab ich auch nicht. Nur eine mit JavaScript, aber besonders elegant ist das auch nicht. Dazu müsstest du in ein Element am Seitenende (also nach dem include) einen onload-EventHandler einbauen, der die PHP-Variable in ein anderes Element weiter oben auf der Seite schreibt.
 
*mh* Vielleicht in dem du in deiner Include Datei die Titel Variable als global setzt:

global $titel;
 
etwa so?
PHP:
global $titel;
$titel="Glossar";
geht auch nicht.

Kann man das, was man includen will gleich in eine Variable packen? Ohne das es angezeigt wird, sondern in der Vaiable bleibt? Denn so könnte ich das ja schon am Anfang des Dokuments machen und dann echo $titel; und anschließen echo $inhalt;

also so in der art:
PHP:
inhalt="include("text.php")"; (ziemlich falsche schreibweise, wie geht das richtig?)
.
.
.
.
echo "$titel";
.
.
echo "$inhalt"
Wobei die variable $titel im Dokument text.php festgelegt wird.

Carlo
 
Zuletzt bearbeitet:
das geht so:

PHP:
# code
ob_start(); # hier ist die stelle wo die Var augegeben werden soll
# ab da wird die ausgabe zwischen gespeichert
echo "das wird gespeichert";
#code
include("wasauchimmer.php");
$ausgabe = ob_get_contens(); # hole die gespeicherte Ausgabe
ob_end_clean(); # ender der Ausgabespeicherung
echo $dieVar; # hier wird deine Var vom include ausgegeben
echo $ausgabe; # ausgabe der gespeicherten Ausgabe

Kein Global hilft da weiter :-)

Mit anderen Worten wir speichen jede ausgabe vom PHP Script in ein Buffer zwischen,
dann geben wir die Variable aus und dann den Buffer mit der bisdahin gespeicherten
Ausgabe vom Script
 
inhalt="include("text.php")";
geht nicht! Es ginge so:

Datei text.php
PHP:
$text="Der Inhalt der Datei den du normalerweise mit echo ausgeben würdest";
$text.="<br>BlaBla";
$title="Titel";

Datei index.php
PHP:
include("text.php");
echo "<title>".$title."</title>";
echo $text;
 
melmager: irgendwie wird hierbei trotzdem erst die ganze datei text.php ausgegeben, bevor ich die Variable $titel anzeigen kann..

Harrier: So könnte ich es zwar machen, will ich aber deshalb nicht, weil man sich dann nach und nach mit den anführungszeichen und anderen sonderzeichen im Inhaltstext verhaspeln würde.
 
sollte aber so gehen

wichtig ist das ob_start(); dort steht wo du normalerweise die Var ausgeben möchtes
der befehl startet ja die Ausgabepufferung.


ein schreibfehler hatte ich drin

$ausgabe = ob_get_contents();
so ist es richtig
 
Zurück