Mailinglisten-Archive |
Hallo Liste, da ich mit setcookie() immer mal wieder Probleme mit bestimmten Browserversionen auf bestimmten Betriebssystemen habe (grmpf), wollte ich einer der vielen Empfehlungen hierzu auf php.net folgen und mir eine eigene Funktion bauen, die ein Cookie direkt per header() setzt. So sieht die Funktion aus: function mySetCookie($cookie_name, $cookie_value, $cookie_expire=3D0, $cook= ie_path=3D"", $cookie_domain=3D"") { if(isset($cookie_name) && isset($cookie_value)) { if($cookie_expire !=3D 0) { $gmt_string =3D gmstrftime("%a, %d-%b-%Y %H:%M:%S", $cookie_expire); $gmt_string =3D $gmt_string." GMT"; } else { $gmt_string =3D ""; } $header_string =3D "Set-Cookie: NAME=3D$cookie_name; value=3D$cookie_v= alue; expires=3D$gmt_string; path=3D$cookie_path; domain=3D$cookie_domain;"= ; header($header_string); return($header_string); } else { return(FALSE); } } Wer=B4s nicht erraten hat: $cookie_expire ist ein Timestamp, alle anderen Werte sind Strings. Das Wesentliche ist die Zeile mit der Definition von $header_string - ich habe mich hier IMHO 200%ig an die Original-Cookiespezifikation von Netscape gehalten (http://www.netscape.com/newsref/std/cookie_spec.html). Ergebnis beim Aufruf dieser Funktion: - Internet Explorer 5 setzt kein Cookie - Opera 5.10 setzt kein Cookie - Netscape 4.74 setzt ein Cookie, wobei alle Angaben bis auf Value korrekt sind - letzteres enth=E4lt keinen Wert Da ich mir den $header_string als Returnwert an anderer Stelle ausgeben lasse, wei=DF ich aber, da=DF Value auf jeden Fall =FCbergeben wurde. Die Frage ist: Woran liegt=B4s? Was mache ich falsch? Mache ich was falsch? Ich mache bestimmt was falsch. Oder machen die Browser was falsch? Fragen =FCber Fragen... Gru=DF, Markus =20 --=20 *21st Media* | Consulting, Konzeption, Produktion f=FCr die Bereiche: Markus Wolff | Internet, Intranet, eCommerce, Content Management, Hamburg,Germany | Softwareentwicklung, 3D-Animation, Videostreaming http://21st.de | Tel. [+49](0)40/6887949-0, Fax: [+49](0)40/6887949-1
php::bar PHP Wiki - Listenarchive