Veröffentlicht 25. Dezember 200222 j Hallo, Ich habe folgendes Problem bei mir gibt setcookie immer nur false zurück, zumindest in meinem aktuellem Projekt. Zu Testzwecken habe ich die Funktion in einer Datei getestet hier funktionierts, aber leider nicht in meinem Projekt, wo ich das ganze eigentlich brauche würde. Nun frag ich mich natürlich was der Unterschied zwischen meiner Testdatei und meinem Projekt ist. Ich verwende Session-Managment und bei einer Länderauswahl soll ein Cookie dauerhaft gespeichert werden für den Zeitraum von einem Jahr. Kann ich überhaupt Session Management und normale Cookies verwenden ?? Eine andere Frage von mir ist, wie ich feststellen kann, ob der HTTP-Header schon gesendet wurde, wenn ich versuche mein Cookie zu setzen. Dies könnte auch noch eine mögliche Fehlerquelle sein. Ich knobble an dem Problem schon seit 3 Tagen herum und bin fast am aufgeben. Mein letzte Hoffnung seit ihr. Schon im voraus vielen Dank und noch ein frohes Fest.
26. Dezember 200222 j Hallo, vielleicht kannst Du mal ein bisschen von Deinen Quelltext posten, dann kann man Dir etwas besser helfen. Frank
26. Dezember 200222 j Hier ist einmal der Ausschnitt aus meinem Quellcode der nicht geht. An dem Script, das mit include in einem anderem Script eingebunden wird, werden zwei Werte übergeben. Ein Wert ist die Sprache, die der Benutzer auswählen kann, der andere Wert kommt von einer Checkbox und entscheidet ob das Cookie gesetzt wird. Der Interpreter geht zwar immer in den if-Zweig, wo das Cookie gesetzt wird, aber das Cookie wird leider )-: nicht gestetzt. Hier der Quellcode: <?php //Übergebene Werte auswerten while(list($name,$value)=each($_GET)) { $id[] ="$value"; } //Keine Cookies erlaubt if(strlen($id[0]) > 20) change_language( 1, 2 ); else change_language( 0 , 1 ); //-----------------------------------------------Funktion überprüft ob Cookies erlaubt sind oder nicht und ändert Sprache----------------------------------------------------- function change_language( $para1, $para2 ) { global $id; //Beim Start der Website Wert für Sprache aus Cookie abfragen if(($id[$para1] == "") && ($id[$para2] == "")) { print "Cookie: $_COOKIE[lang_cookie]|"; if($_COOKIE['lang_cookie'] != "") $temp = $_COOKIE['lang_cookie']; else $temp = 1; } else { //Cookies setzen mit einem Jahr Gültigkeit if(($id[$para2]) == "on") { if(($id[$para1]) == "German") { //print "g_cookie"; setcookie ("lang_cookie", "1", time()+(60*60*24*365)); $temp = 1; } else if(($id[$para1]) == "English") { //print "e_cookie"; setcookie ("lang_cookie", "2", time()+(60*60*24*365)); $temp = 2; } else if(($id[$para1]) == "Spanish") { //print "s_cookie"; setcookie ("lang_cookie", "3", time()+(60*60*24*365)); $temp = 3; } else if(($id[$para1]) == "French") { //print "f_cookie"; setcookie ("lang_cookie", "4", time()+(60*60*24*365)); $temp = 4; } } else if(($id[$para2]) == "") { if(($id[$para1]) == "German") $temp = 1; else if(($id[$para1]) == "English") $temp = 2; else if(($id[$para1]) == "Spanish") $temp = 3; else if(($id[$para1]) == "French") $temp = 4; } } //Falls Probleme beim Lesen von Cookie if(($temp == "") || ($temp == "N")) $temp = 1; $_SESSION['lang_session'] = $temp; print "Session: $_SESSION[lang_session]"; } ?>
26. Dezember 200222 j print "Cookie: $_COOKIE[lang_cookie]|"; Das ist 'ne Ausgabe, danach wird's nicht mehr gehn.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.