Zum Inhalt springen

PHP Script einbauen, aber wie?

Erstellt am 13. November 2009 · 13 Antworten · letzte Antwort am 15. November 2009

Tags: Frage

alphaonline ·

Steht doch da:

Warning: Cannot modify header information - headers already sent by (output started at /var/www/web32/html/fan/typo3/fileadmin/fan/scripte/header.php:7)

Dein php-Script "header.php" erzeugt Informationen, die TYPO3 auch erzeugen will und somit kollidieren die beiden miteinander.
Das kann mehrere Ursachen haben: Dein Script beutzt Sessions, Du hast am Anfang ein Leerzeichen oder versucht selbst in die Datenbank zu connecten - was TYPO3 eigentlich machen will.

Also: Bevor ich meine Glaskugel anwerfe - Poste mal Dein Script !

Und:

Hinzu kommt noch, dass im Browser dann alles verschoben wird.
Hier ein Bild wie es dann aussieht:

Das liegt daran, dass die o.g. Fehlermeldung Dein Layout zerlegt.

VG alphaonline

andre-ne ·

Hier ist noch einmal mein PHP Script, welches sich auch genau so in der datei "header.php" befindet:

<?php
$stunde = date('G');
if($stunde <= 20 && $stunde >= 8-)
{$bild = 'fileadmin/images/header_night.jpg';}
else
{$bild = 'fileadmin/images/header_day.jpg';}
echo '<img src="'.$bild.'">';
?>

alphaonline ·

Hallo einpraegsam.net,

vermutlich 'ne blöde Frage:
Warum nicht mit "echo" - funzt bei mir problemlos !

Gibt's da Sicherheitsbedenken ??

VG alphaonline

einpraegsam.​net ·
alphaonline schrieb

Warum nicht mit "echo" - funzt bei mir problemlos !

Gibt's da Sicherheitsbedenken ?

Keine Sicherheitsbedenken, aber wenn du ein Script an einem Marker oder Subpart ausgeben willst und nicht über der kompletten Seite mit PHP Warnings, dann lieber kein Echo...

alphaonline ·

OK, werde ich testen & beherzigen.

Was mich dabei aber wundert - ich programmiere meine Scripte seit langem mit "echo", ohne dass ich Fehlermeldungen bekommen.
Und ich habe die Ausgabe von Scriptfehlern nie unterdrückt ...

Aber nun ja, Hauptsache das Problem von andre-ne ist gelöst 😃

Hans1 ·

Hallo,

der Header-Fehler kommt, wenn Typo3 Header-Infos setzen will, aber bereits eine Ausgabe stattgefunden hat. Deshalb auch kein echo verwenden.

So wäre meine Intension (und auch in PHP-Code außerhalb von Typo3 das übliche).

Viele Grüße, Hansi