Hast Du sichergestellt, dass du den Cookie VOR einem etwaigen HTML-Teil in Deiner PHP-Datei angegeben hast?
Falls nicht, koennte es daran liegen:
(wenn ich jetzt was erzaehle, was du schon weisst, einfach überlesen):
<mit-halbwissen-prahl>
Dein Webserver baut ja einen Header um die Ausgabe deines PHP-Skriptes drumrum, also wenn Du mit deinem PHP-Skript ausgibst
<html>
<head> <title> foobar </title></head>
<body> bla </body>
</html>
macht dein Server etwas wie das folgende draus:
HTTP/1.1. OK
Connection Close
Date: ....
Server: ...
Content-type: text/html
<html>
....
</html>
Cookies muss der server in den oberen Teil reinpopeln - wenn du deinen Cookie-Aufurf also irgendwo inmitten der seite stehen hast, also irgendwie so:
echo <html>
echo <body>
...
setcookie
...
echo </body>
ist das zu spät für ihn. Dann hat er sein Geblubber mit HTTP/1.1 bla...schon geschrieben.
Deswegen muessen Cookies anweisungen so früh wie möglich im PHP-Skript stehen, jedenfalls bevor Du noch irgendwelche Ausgaben machst.
</mit-halbwissen-prahl>
Wenns daran nicht liegt, kann es ggf. damit zusammenhängen, dass du lokal testest - ich glaube mich zu erinnern, dass ich mal so ein Problem hatte. Abhilfe: Das ganze auf einem entfernten Webserver (!= deinem eigenen Rechner) ausprobieren.
Hoffe, ich konnte weiterhelfen (auch wenn ich von PHP keine Ahnung hab *rot-werd*)
Ciao,
Jörg