!(header already sent)
Klaus
- php
Hallo,
wenn man die Funktion header(..); benutzt, dann darf davor ja keine Ausgabe sein.
Das Problem ist jetzt, mein lokaler Entwicklungsserver (PHP5) ignoriert diese.
Bsp:
<html>
<?php
header("location: ziel.php");
exit;
?>
Funktioniert bei mir Einwandfrei, aber mein Webspace-Server (PHP4) gibt, wie gewohnt, die Fehlermeldung: header already sent aus.
Jetzt wollte ich Fragen ob dies am Unterschied PHP4/PHP5 liegt, oder ob ich in der php.ini es so einstellen kann, dass bei meinem lokalen Server diese Fehlermeldung auch erscheint.
Grüße Klaus
Hallo
wenn man die Funktion header(..); benutzt, dann darf davor ja keine Ausgabe sein.
Bsp:
<html>
<?php
header("location: ziel.php");
exit;
?>
Funktioniert bei mir Einwandfrei, aber mein Webspace-Server (PHP4) gibt, wie gewohnt, die Fehlermeldung: header already sent aus.
Das macht er ja, dem Beispiel nach, richtig.
Jetzt wollte ich Fragen ob dies am Unterschied PHP4/PHP5 liegt, oder ob ich in der php.ini es so einstellen kann, dass bei meinem lokalen Server diese Fehlermeldung auch erscheint.
Das kannst du in der php.ini einstellen. Im Abschnitt "Error handling and logging" werden die möglichen Einstellungen beschrieben und vorgenommen.
Tschö, Auge
Hallo
Das kannst du in der php.ini einstellen. Im Abschnitt "Error handling and logging" werden die möglichen Einstellungen beschrieben und vorgenommen.
Zur Skriptentwicklung ist die beste Einstellung: error_reporting = E_ALL & E_NOTICE
Damit wirst du selbst über die Verwendung nicht initialisierter Variablen informiert. Sehr praktisch, das!
Tschö, Auge
Hallo,
naja am error_reporting hat es nicht gelegen.
Und zwar kann man in der php.ini die Pufferung der Ausgabe angeben.
Unter: output_buffering
Wenn der Eintrag gesetzt ist, dann funktioniert mein Beispiel, also die Person wird an die Seite weitergeleitet.
Wenn es nicht gesetzt ist, dann erhält man diese Fehlermeldung (header already sent...)
Grüße
Klaus
Hallo Klaus.
Und zwar kann man in der php.ini die Pufferung der Ausgabe angeben.
Unter: output_buffering
Das sollte, wenn überhaupt, lieber direkt im betroffenen Skript eingesetzt werden: ob_start.
Wenn es nicht gesetzt ist, dann erhält man diese Fehlermeldung (header already sent...)
Richtig, nach diesem Prinzip funktioniert ja auch die Ausgabepufferung.
Gruß, Ashura
Hallo
naja am error_reporting hat es nicht gelegen.
Und zwar kann man in der php.ini die Pufferung der Ausgabe angeben.
Unter: output_bufferingWenn der Eintrag gesetzt ist, dann funktioniert mein Beispiel, also die Person wird an die Seite weitergeleitet.
Ahja, hab' ich dich wohl falsch verstanden. Das geht auch im Skript mit ob_start()
und ob_end_flush()
(Beginn und Ende des Pufferns).
Tschö, Auge