Zum Inhalt springen

Empfohlene Beiträge

Geschrieben

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.

Geschrieben

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]";

}

?>

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 erstellen

Anmelden

Du hast bereits ein Benutzerkonto? Melde Dich hier an.

Jetzt anmelden

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...