Comroader Geschrieben 25. Dezember 2002 Geschrieben 25. Dezember 2002 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. Zitieren
robotto7831a Geschrieben 26. Dezember 2002 Geschrieben 26. Dezember 2002 Hallo, vielleicht kannst Du mal ein bisschen von Deinen Quelltext posten, dann kann man Dir etwas besser helfen. Frank Zitieren
Comroader Geschrieben 26. Dezember 2002 Autor Geschrieben 26. Dezember 2002 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]"; } ?> Zitieren
Chaosmaker Geschrieben 26. Dezember 2002 Geschrieben 26. Dezember 2002 print "Cookie: $_COOKIE[lang_cookie]|"; Das ist 'ne Ausgabe, danach wird's nicht mehr gehn. Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.