Cookie Problem !

LoMo

Erfahrenes Mitglied
Hallo,

ich hab ein kleines Problem mit Cookies.

PHP:
	if (!isset($_COOKIE['Merkzettel']))
	{
		if (isset($_GET['KDNR']))
		{
			setcookie("Merkzettel",$_GET['KDNR'],time()+(3600*24));
		}
		else
		{
			setcookie("Merkzettel","",time()+(3600*24));
		}
	}
	else
	{
		if (isset($_GET['KDNR']))
		{
			$text = strchr(trim($_COOKIE['Merkzettel']),$_GET['KDNR']);
			echo $text;
			if($text != "")
			{
				$temptext = ' '.$_GET['KDNR'];
				setcookie("Merkzettel",$temptext,time()+(3600*24));
				unset($temptext);
			}
		}
	}

Hier überprüf ich erst ob überhaupt schon ein Cookie gesetzt wurde und ob KDNR übergeben wurde und erstell das Cookie. Falls KDNR übergeben wurde schreib ich es gleich mit rein.

Wenn aber des Cookie schon vorhanden ist will ich prüfen ob sie im Cookie schon vorhanden ist falls ja soll er nichts machen falls nicht soll er die KDNR anfügen. Er soll die anderen nicht überschreiben! Nur anfügen.

Er bringt bei meinen Code zwar keinen Fehler aber er fügt keine neuen KDNR´n an Und wenn er des Cookie schon gesetzt hat aber es ist noch kein Inhalt vorhanden dann soll er kein LEERZEICHEN vor der KDNR machen. Was auch noch gute währe, dass wenn kein Cookie gesetzt ist und keine KDNR übergeben wurde, dass er das Fenster schliest.

Weiss jemand vielleicht wie ich das machen könnte ?

Ps. Energebniss sollte ca. so aussehen:

50000005 2000008 205923


mfg lomo
 
Zuletzt bearbeitet:
Hab den Fehler gefunden

$text == "" und nicht $text != ""

Hab aber immernoch ein Problem. Irgendwie aktualisiert er die neue KDNR nicht sofort sondern erst nach den erneuten laden.

Weiss jemand woran des liegen könnte ?
 
Hi!

Das Cookie auf Client-Seite wird beim Laden der Seite aktualisiert. Diese Änderungen werden natürlich erst beim Neuladen wieder auf den Server übertragen, sodass du die Änderungen im während des Script-Ablaufs, in dem die Änderungen vorgenommen werden, nicht mitbekommst.

Mamphil
 
grübel ...........

weiss jemand vielleicht nen Lösungsvorschlag ? Ich habs mit header versucht ging aber irgendwie nicht einfach nochmal auf die gleiche Seite verweisen.
 
Hi!

Entweder du leitest noch einmal auf die eigentliche Seite um:
PHP:
header('Location: '.$_SERVER['REQUEST_URI']);
exit();
oder du arbeitest mit lokalen Variablen. D. h. du liest entweder das Cookie aus oder - falls du es ergänzt - veränderst du die Variable manuell beim Ergänzen.

Mamphil

EDIT: das "exit();" der Sauberkeit halber hinzugefügt...
 
Zuletzt bearbeitet:
Ok funktioniert jetzt. Hab mich für deinen header Vorschlag entschieden.Vielen Dank. Gibt es in PHP eigentlich ein Commando, mit den man das aktuelle Fenster schliesen kann ?

mfg lomo
 
Zurück