Problema de establecimiento de cookies en PHP
Al escribir y leer cookies en una misma página,
nos espera una cierta trampa.
El caso es que las cookies establecidas mediante
setcookie solo están disponibles
en el array $_COOKIE
después de recargar la página.
Comprobemos esto. Escribamos mediante
setcookie alguna cookie e imprimámosla
inmediatamente en pantalla. En este caso, en la primera visita
en $_COOKIE para nuestra cookie habrá null,
y al actualizar la página - el valor de la cookie:
<?php
setcookie('str', 'eee');
var_dump($_COOKIE['str']); // primero null, y luego 'eee'
?>
Verifique el comportamiento descrito de las cookies.