Danke für Deinen Tipp. Habe
include()
jetzt an den Anfang der index.php gesetzt und jetzt funzt es. Musste allerding die Ausgabe der 'teaserrandom.php' in einer Variable speichern, die ich in der index.php nach dem include abrufe. Vorher hatte ich ja genau an der Stelle includiert, an der ich die Ausgabe der 'teaserrandom.php' verwenden wollte.Kleiner Trick:
<?php echo include('x.inc'); ?>
<?php
Datei x.inc
return('Huhu');
?>
So einfach, wie ich es mir vorgestellt habe ging es eben doch nicht. Nochmals das Problem:
Ich habe die 'index.php', in der der html-Code ist. Ab ca. der Mitte, nachdem schon html ausgegeben wurde, soll die 'teaserrandem.php' includiert werden, die die headerinfo für den Cookie enthält. Und jetzt kommt eben das Problem, dass die headerinfos für 'index.php' schon gesendet wurden und deshalb mein includierter Cookie-header Pech hat. Dann hatte ich mal den include an den Anfang gesetzt, bevor html ausgegeben wird. Und siehe da, es hat funktioniert. Aber das nützte mir nicht viel, da ich ja, layoutbedingt, den include zu einem späteren Zeitpunkt brauche. Zunächst dachte ich, dass ich was an der Logik HTML und PHP ändern müsste. Aber ich finde, dass sie so ok ist.
Jetzt habe ich aber was gefunden, was vielleicht funktionieren könnte.
Die Zauberworte sind `ob_start();`{:.language-php} und `ob_end_flush();`{:.language-php}. Ich includiere meine 'teaserrandom.php' gleich zu Beginn, jedoch leite ich die PHP-Ausgabe (bis auf den Cookie-header!) nicht an den Clienten, sondern in einen internen cache um. Erst wenn ich die PHP-Ausgabe zu einem späteren Zeitpunkt benötige, lese ich sie mit `ob_end_flush();`{:.language-php} aus. Klingt gut.
Wenn jemand noch eine andere Idee ... bitte melden!
Danke & Gruss
AirMax