Scusami ma hai mischiato $HTTP_COOKIE_VARS con $_COOKIE
usa una OPPURE l'altra
Inoltre il test empty(..) non va bene perchè nel caso in cui ci fosse qualche altro cookie attivo (anche il semplice SESSION_ID registrato) il tuo script considera il cookie già settato
Il test lo devi quindi fare sul TUO cookie
Codice PHP:
if (isset($_COOKIE["C"]))
oppure
Codice PHP:
if($_COOKIE["C"])
Io uso sempre la prima versione poiche il valore FALSE potrebbe dover essere considerato come "OK" e quindi andare nella ELSE
Prova questo codice (notare che come expire uso time()+360 invece di "+360")
Codice PHP:
$message= "prova cookie persistente";
if(isset($HTTP_COOKIE_VARS))
{
if(!isset($HTTP_COOKIE_VARS["C"]))
{
setcookie("C", "$message", time()+360);
} else {
echo $HTTP_COOKIE_VARS["C"];
}
} else {
if(!isset($_COOKIE["C"]))
{
setcookie("C", "$message", time()+360);
} else {
echo $_COOKIE["C"];
}
}
Ho usato una sintassi estesa per meglio permetterti di interpretare