Cookie wird nicht erstellt

max

Erfahrenes Mitglied
Ich lege für so eine Art Merkliste ein Cookie an, dabei will ich dafür eine Funktion schreiben , da es öfter erforderlich ist ein Cookie zu erstellen.

So funktioniert es einwandfrei:
PHP:
 header ("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); 			// Date in the past
   header ("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); // always modified
 header ("Cache-Control: no-cache, must-revalidate"); 			// HTTP/1.1
 header ("Pragma: no-cache");						 			// HTTP/1.0
   
   // blatt variable übergeben?
   if (isset($_POST['blatt'])){
   	// Überprüfe ob blattcookie existiert
   	if (isset($_COOKIE['mymemo_blatt'])){
   		$mymemoski = $_COOKIE['mymemo_blatt']; //Cookie auslesen
   		$array_blatt = array(); // array initialisieren
 		$array_blatt= explode("||","$mymemoblatt"); // Warenkorb wieder als array aufsplitten werte ausgeben
   		};
   	// Cookie setzen
   	$array_blatt[] = ($_POST['blatt']); // neuen Wert zu array hinzufügen
   	$array_blatt = array_unique($array_blatt); // sollte ein Artikel 2x vorhanden sein wird einer gelöscht
   	$mymemoblatt = implode("||",$array_blatt); // array Inhalt in variable mit Trennzeichen || übergeben
   	setcookie ('mymemo_blatt', $mymemoblatt, time()+(60*60*24*90)); //Cookie wieder schreiben
   	};
   // blatt eintragen fertig

Und hier meine Funktion die ich nicht zum laufen bringe:
PHP:
   //$postVariable ist zB $_POST['blatt']
   function setMemoCookie($postVariable, $art){
   	//Pruefung ob cookie bereits existiert
   	if(isset($_COOKIE["mymemo_".$art.""]) ){
   		$myMemo = $_COOKIE["mymemo_".$art.""];//Cookie auslesen
   		$arrayCookie = array();
   		$arrayCookie = explode("||", "$myMemo");
   		}
   	//Cookie setzen
   	$arrayCookie[] = ($postVariable);//neuen Wert zu Array hinzufuegen
 	$arrayCookie = array_unique($arrayCookie);//falls der Inhalt doppelt vorkommt wird der andere ueberschrieben
   	$arrayCookie = implode("||", $arrayCookie);//array Inhalt in Variable mit Trennzeichen || laden
   	setcookie ("mymemo_".$art."", $myMemo, time()+(60*60*24*90));
   	//return("true");
   }

Danke
max
 
Zuletzt bearbeitet:
Hallo,
es liegt einfach daran, dass bevor du einen Cookie schreibst nichts gesendet werden darf!
also auch keine header();
deshalb wirst du wahrscheinlich einen Fehler bekommen!

Gruß
 
Hatte wohl nur einen ganz ausgeklügelten Tippfehler ;)

Aber jetzt funktioniert das ganze wunderbar.

@aKraus:
Das ist aber doch der header für das Cookie.
 
Zurück