Andreas Korthaus: header Fehler ohne Header....

Beitrag lesen

Hi!

index.php:32:
<html>

right.php:3:
setcookie("ipsperre",$ip,time() +86400);

Warning: Cannot modify header information - headers already sent by (output started at /home/www/htdocs/ich-lerne-noch.de/index.php:32) in /home/www/htdocs/ich-lerne-noch.de/includes/right.php on line 3

Du willst einen Cookie setzen, nachdem Du bereits HTML-Code ausgegeben hast. Das funktioniert nicht da der Cookie im Header gesendet werden musst. Sobald Du irgendwas ausgibst, ob direkt HTML oder über echo oder nur ein Leerzeichen, dann erzeugt PHP den Header und übergibt diesen und die ersten Daten aus dem Ausgabepuffer an den Webserver. Wenn Du dann später einen Cookie senden möchtest, der wie gesagt im Header verschickt werden muss, geht das nicht mehr, da dieser ja wie gesagt schon unterwegs zum Client ist. Daher der Fehler.  Jegliche Header die Du in PHP manuell sendest müssen vor der ersten Ausgabe erstellt werden.

Gucke Dir mal folgendes an: http://php-faq.de/q/q-fehler-session-cookie.html

Wenn es geht würde ich den Cookie einfach früher setzen, bevor Du HTML ausgibst, und wenn das nicht geht würde ich mit den mir den Ausgabe-Puffer-Funktionen die Ausgabe puffern, und erst ganz am Ende senden. Siehe: http://de3.php.net/manual/de/ref.outcontrol.php

Grüße
Andreas