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.
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
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]"; } ?>
Chaosmaker Geschrieben 26. Dezember 2002 Geschrieben 26. Dezember 2002 print "Cookie: $_COOKIE[lang_cookie]|"; Das ist 'ne Ausgabe, danach wird's nicht mehr gehn.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden