Cookie wird erst nach aktualisierung der Seite gesetzt

PHP-Fan

Erfahrenes Mitglied
Hallo,

auf jeder Seite (ganz oben) wird folgender Befehl ausgeführt:

PHP:
$iCatId = '';
if (is_numeric($_GET['iCat']))
{
	$iCatId = (int)$_GET['iCat'];
	
	$sCookieiCategoryIds = getCookie('iCategoryIds');
	if (empty($sCookieiCategoryIds))
	{
		makeCookie('iCategoryIds', $iCatId);
	}
	else
	{
		$aCookieCatIds = explode(';', $sCookieiCategoryIds);
		if (!in_array($iCatId, $aCookieCatIds))
			makeCookie('iCategoryIds', $sCookieiCategoryIds .';'. $iCatId);
	} // if (empty($sCookieiCategoryIds))	
} // if (is_numeric($_GET['iCat']))

Das funktioniert auch alles perfekt, allerdings wird der Cookie erst beim zweiten Klick erstellt erweitert. Sprich ich erstelle/erweitere den Cookie so kann ich erst nach F5 oder einer aktualisierung damit arbeiten. Wie kann ich in Echtzeit mit dem Cookie arbeiten?

Vielen Dank für die Hilfe
 
Ich habe das ganze jetzt mit dem header gelöst. Gibt es eine bessere Methode oder reicht das so?

PHP:
$iCatId = '';
if (is_numeric($_GET['iCat']))
{
	$iCatId = (int)$_GET['iCat'];
	
	$sCookieiCategoryIds = getCookie('iCategoryIds');
	if (empty($sCookieiCategoryIds))
	{
		makeCookie('iCategoryIds', $iCatId);
		header('Location: /');
	}
	else
	{
		$aCookieCatIds = explode(';', $sCookieiCategoryIds);
		if (!in_array($iCatId, $aCookieCatIds))
		{
			makeCookie('iCategoryIds', $sCookieiCategoryIds .';'. $iCatId);
			header('Location: /');
		}
	} // if (empty($sCookieiCategoryIds))	
} // if (is_numeric($_GET['iCat']))
 
Zurück