Seite 1 von 1
Probleme mit Cookies
Verfasst: 30.04.2007 00:30
von roderiganuras
ich bin mit meiner website von funpic auf eine eigene webspace umgezogen
Meine cookies werden nicht gesetzt. ich bekomme die fehlermeldung:
Code: Alles auswählen
Du bist der
Warning: Cannot modify header information - headers already sent by (output started at /var/www/web5/html/HTML/main.php:16) in /var/www/web5/html/HTML/main.php on line 88
8. Besucher der Seite
url:
http://heusspower.ultracoder.de
queltext:
http://heusspower.ultracoder.de/HTML/quell.txt
früher hatte ich webspace bei funpic.de da ging dieser script perfekt
woran liegt das/kann das liegen???
Verfasst: 30.04.2007 01:25
von Pyramide
RTFM: KB:headers_already_sent
Verfasst: 30.04.2007 14:45
von roderiganuras
aber in dem script stimmt doch alles

Verfasst: 30.04.2007 16:02
von punkface
Wenn alles stimmen würde, würde auch keine Fehlermeldung angezeigt, oder?
Aus dem PHP Handbuch für die von dir verwendete Funktion setcookie()
setcookie() definiert ein mit den HTTP Header-Informationen zu übertragendes Cookie. Wie andere Header auch, müssen Cookies vor jeglicher Ausgabe Ihres Skriptes gesendet werden (dies ist eine Einschränkung des Protokolls). Das bedeutet, dass Sie diese Funktione aufrufen müssen, bevor Sie eine Ausgabe, dazu zählen auch <html>- oder <head>-Tags sowie jede Art von Whitespaces, übermitteln.
Für Abhilfe siehe auch:
setcookie erste Anmerkung
Verfasst: 30.04.2007 16:47
von roderiganuras
ok, aber wieso ging das auf funpic problemlos?
Es geht immer noch nicht :(
Verfasst: 30.04.2007 16:58
von roderiganuras
so jetzt habe ich die cookies in den header gepackt
die fehlermeldung ist verschwunden aber der gewünschte effekt (der besucherzähler soll nur um 1 hochgezählt werden wenn der cookie nicht gesetzt wurde oder schon über 60 sek alt ist) tritt nicht ein

link:
http://heusspower.ultracoder.de/HTML/main.php
quelltext:
http://heusspower.ultracoder.de/HTML/quell.txt
Verfasst: 30.04.2007 17:42
von punkface
Die Frage warum es bei funpic.de ging kannst du dir selbst beantworten, wenn du die vorhin erwähnte erste Anmerkung im PHP Handbuch nochmal genau durchliest. Stichwort: output_buffering und php.ini
Zum jetztigen Code:
Das ist komplett wirkungslos. Mit der Funktion setcookie() wird, wie du im Handbuch nachlesen kannst, über den HTTP Header ein Cookie an den Browser geschickt, die Variable
$_COOKIE enthält allerdings nur Cookies die der Browser an den Server geschickt hat. Wenn du also Werte im $_COOKIE-Array änderst, hat das keinerlei Auswirkungen auf die Cookies die an den Browser geschickt werden.
siehe auch:
http://tut.php-q.net/cookies.html
Verfasst: 30.04.2007 17:54
von roderiganuras
hab ich leider immer noch nicht kapiert, bin i-wie blöd, kannste mir an nem code beispiel erklären, was du meinst
p.s.
hat es irgendwelche nachteile output_buffering auf on zu stellen, oder kann man das getrost machen?