PHP setzt keine Cookies - Verzweiflung an Neujahr?!
blacky333
- php
Hi Leute,
ich bin etwas überfragt aktuell... Mein PHP Script setzt keine Cookies, alle anderen schon, auch andere selbstgeschriebene.
Folgender Scriptauszug ist der entscheidende:
---
setcookie("uid", $check['id'], time()+60*60*24*7, "/");
setcookie("upw", $check['password'], time()+60*60*24*7, "/");
---
Um erstmal vorzubeugen: Das Passwort ist natürlich md5 gechecksummt (^^) und ich weiß, dass es trotzdem ein Sicherheitsrisiko darstellt, danke :-)
error_reporting ist auf E_ALL und gibt trotzdem nichts aus. Durch ein echo habe ich mal direkt zwischen den beiden Befehlen was ausgeben lassen, was er auch brav macht. Aufgerufen werden die setcookie-Zeilen also schon.
Das Problem ist einfach, dass er keine Cookies setzen will. $check['id'] und $check['password'] haben einen Wert, daran liegts also auch nicht. Die expiration ist auf 7 Tage.
Ich bin ratlos, wisst Ihr da irgendwas?
Gruß,
blacky
...und frohes Neues!
Hi,
Das Problem ist einfach, dass er keine Cookies setzen will.
Tja, so ein boeser "er".
Dann nimmst du dir jetzt erst mal ein Tool wie LiveHTTPHeaders fuer den Firefox o.ae., und schaust damit nach, welche Header an den Client gesendet werden - ob die Cookies dabei sind, oder nicht.
MfG ChrisB
Dann nimmst du dir jetzt erst mal ein Tool wie LiveHTTPHeaders fuer den Firefox o.ae., und schaust damit nach, welche Header an den Client gesendet werden - ob die Cookies dabei sind, oder nicht.
Zu Befehl! :-)
Also Cookies sind drin, also was ist denn da das Problem dann? Browserseitig? Cookies und Cache sind geleert, bringt aber alles nichts. Sowohl Firefox 2, IE6 und IE7 verweigern die "Cookie-Annahme" sozuagen...
---
HTTP/1.x 302 Found
Date: Tue, 01 Jan 2008 18:37:21 GMT
Server: Apache/2.2.3 (Debian) mod_ssl/2.2.3 OpenSSL/0.9.8c
X-Powered-By: PHP/5.2.0-8+etch7
Set-Cookie: uid=3; expires=Tue, 08-Jan-2008 18:37:21 GMT; path=/
Set-Cookie: upw=cd73ee7747a6f93901d5f330bfcc0403; expires=Tue, 08-Jan-2008 18:37:21 GMT; path=/
---
echo $begrüßung;
Also Cookies sind drin, also was ist denn da das Problem dann? Browserseitig? Cookies und Cache sind geleert, bringt aber alles nichts. Sowohl Firefox 2, IE6 und IE7 verweigern die "Cookie-Annahme" sozuagen...
Woraus schlussfolgerst du das? Werden sie vom Browser mit dem nächsten Request mitgesendet oder nicht? Diese Frage zu beantworten hilft dir wieder "Live HTTP headers". Wenn sie dann mitgesehndet werden, wie prüfst du dann das Vorhandensein in PHP?
echo "$verabschiedung $name";
Woraus schlussfolgerst du das? Werden sie vom Browser mit dem nächsten Request mitgesendet oder nicht? Diese Frage zu beantworten hilft dir wieder "Live HTTP headers". Wenn sie dann mitgesehndet werden, wie prüfst du dann das Vorhandensein in PHP?
DANKE!
Ganz dummer Fehler... -.- Das Script prüft natürlich ob das Passwort richtig ist, das im Cookie gespeichert wurde, und da war bei der if-Schleife ein "=" anstatt des Komperatoren "==". Dann hat er natürlich die Cookies als Schutzmaßnahme gelöscht..
---
Set-Cookie: uid=deleted; expires=Tue, 02-Jan-2007 09:44:05 GMT; path=/
Set-Cookie: upw=deleted; expires=Tue, 02-Jan-2007 09:44:05 GMT; path=/
---
Sorry, dass ich Euch damit belästigt habe, das war wirklich idiotisch. *kopf gegen wand*
Naja, wenigstens habe ich jetzt eine sehr nützliche Erweiterung kennengelernt :-)
Gruß,
blacky