Wo steckt der Fehler ?... setcookie

Alles, was PHP betrifft, kann hier besprochen werden.

Wo steckt der Fehler ?... setcookie

Postby ZaphoodB » 14. October 2009 08:26

Hallo,
der Counter ansich funktioniert, nur die Sache mit dem Cookie nicht.

Ich nutze Xampp 1.7.2, also Apache.

Hier mal der Code um den es geht:

Code: Select all
<html>
<head>
</head>
<body>
<?php $dateiName = "inhalt.txt";
if(!file_exists($dateiName))
{
$datei = fopen($dateiName,"w");
fwrite($datei, "1");
fclose($datei);
}
$datei=fopen($dateiName,"r");
$counter=fread($datei,10);
fclose($datei);
$besucher=$_COOKIE['besucher'];
if(!isset($besucher))
{
$value = "ja";
setcookie("besucher", $value);
$counter++;
$datei=fopen($dateiName,"w");
fwrite($datei,$counter);
fclose($datei);
}
?>
<h1>Sie sind der <?php echo $counter;?>. Besucher</h1>
</body>
</html>


Und die Warnung dazu:

Warning: Cannot modify header information - headers already sent by (output started at C:\xampp\htdocs\index4.html:5) in C:\xampp\htdocs\index4.html on line 19


Google meint, das soll irgendwo ein Problem mit einer Leerstelle sein, aber selbst wenn ich alles in eine Zeile mache kommt die Meldung. Wo liegt also das Problem ?

Danke

ZaphoodB
ZaphoodB
 
Posts: 13
Joined: 16. September 2009 09:02

Re: Wo steckt der Fehler ?... setcookie

Postby Stepke-DSL » 14. October 2009 09:28

Die Antwort steht schon in der Fehlermeldung.
Der Cookie muss gesetzt werden, bevor irgendetwas anderes gemacht wird (bevor ein HEADER gesendet wird).
Code: Select all
<?php $dateiName = "inhalt.txt";
if(!file_exists($dateiName))
{
$datei = fopen($dateiName,"w");
fwrite($datei, "1");
fclose($datei);
}
$datei=fopen($dateiName,"r");
$counter=fread($datei,10);
fclose($datei);
$besucher=$_COOKIE['besucher'];
if(!isset($besucher))
{
$value = "ja";
setcookie("besucher", $value);
$counter++;
$datei=fopen($dateiName,"w");
fwrite($datei,$counter);
fclose($datei);
}
?>
<html>
<head>
</head>
<body>

<h1>Sie sind der <?php echo $counter;?>. Besucher</h1>
</body>
</html>


Also müsste das dann in etwa so aussehen...

MfG Stepke
Stepke-DSL
 
Posts: 313
Joined: 12. July 2007 16:08
Operating System: Win XP Pro SP3 + SuSe Linux

Re: Wo steckt der Fehler ?... setcookie

Postby ZaphoodB » 14. October 2009 09:47

Ohman,
da sieht man mal wieder wie unvorbereitet einem der Fehlerteufel treffen kann.

Ich hab natürlich alles doppelt und dreifach nach Schreibfehlern durchsucht, aber das es dann wieder mal sowas "banales" ist... :oops:

Danke trotzdem schon mal

ZaphoodB
ZaphoodB
 
Posts: 13
Joined: 16. September 2009 09:02


Return to PHP

Who is online

Users browsing this forum: No registered users and 18 guests