Albert Weißenbach: Warning: Cannot modify header information

Beitrag lesen

Hallo,

Warning: Cannot modify header information

schade, dass du den wichtigen Teil der Fehlermeldung weggekürzt hast. Da steht nämlich nicht nur drin, wo der Fehler festgestellt wurde (vermutlich die Zeile mit der header()-Anweisung), sondern auch, wo die erste Ausgabe erfolgte, die das erneute Header-Senden verhindert.

Da es keine Leerzeichen oder vorhergehende Ausgaben im Skript gibt, ...

... könnte ebensogut eine BOM am Dateianfang der Störenfried sein - vorausgesetzt, du verwendest UTF-8.

<?php

$users = array("user1","user2","user3","user4");
$pass = array("pass1","pass2","pass3","pass4");
$uip = $_SERVER["REMOTE_ADDR"];
$today = date("Y-m-d H:i:s");
if(isset($_POST['user'])){
$u = $_POST['user'];
$p = $_POST['pw'];
$file = "log.txt";
$handle = fopen($file, 'a+') or die ("Datei konnte nicht geöffnet werden");
$source = "Neus login versuch am: " .$today. " von IP Adresse: " .$uip. " mit benuzername: " .$u. " mit Kennwort " .$p;
fwrite($handle,$source);
fclose($handle);
for ($i=0; $i<3; $i++){
if($u == $users[$i] && $p == $pass[$i]){
header("LOCATION: disneyland.disney.go.com/");
exit;
}
else{
echo "falsch";
}
}
}
?>


>   
> Da ist nichts drin, was eine Ausgabe an den Client produziert (außer der Meldung im else-Zweig), so dass die Ausgabe schon vorher erfolgt sein muss. Wie gesagt: Möglicherweise eine BOM.  
>   
> So long,  
>  Martin  
>  
  
Oh sorry, die komplette Fehlermeldung ist die:  
  
Warning: Cannot modify header information - headers already sent by (output started at /home/php5/public\_html/index.php:1) in /home/php5/public\_html/index.php on line 21 (da ist der header drin)