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

}

?>

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.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

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...