Dunque, cercherò di semplificare il discorso ...
Ho un sito che si apre sulla pagina index.php, richiamata in seguito più volte.
All'inizio, ho inserito:
------------------------
<?php
session_start();
if (empty($_SESSION['count']))
{ $_SESSION['count'] = 1; }
else
{
$_SESSION['count']++;
}
if ($_SESSION['count'] <2 )
{ header("location: http: ..............intro.php"); }
?>
------------------------
in modo da mostrare al nuovo visitatore prima una pagina "intro".
Il sito è totalmente visitabile, senza problemi: per aggiungere un commento però è necessario loggarsi (o registrarsi).
Nella relativa pagina, dopo i controlli di rito, ho inserito:
------------------------
<?php
if ($flag == 1) //se il login è andato a buon fine ...
{
setcookie("prova",$nome, time()+180); //cambiato a 3600 quando operativo
$loc="index.php";
echo ("<script>window.location='$loc'</script>"); }
?>
Per finire, sempre nella pagina index.php c'è una parte di codice che non mostra il form dei commenti se non è stato settato il cookie:
<?php
if (isset ($HTTP_COOKIE_VARS["prova"]) )
{ //mostra il form dei commenti
}
else
{ // invia alla pagina di login
}
Beh, mi sembrava tutto logico, semplice .... ma non funziona!!
Se provo infatti a leggere i valori del cookie con l'istruzione:
if (isset ($HTTP_COOKIE_VARS) )
{ while (list ($nome, $valore) = each ( $HTTP_COOKIE_VARS ) )
{ echo "$nome = $valore\n"; } }
mi ritrovo il seguente rigo:
br429630 = 0 pr429630 = 3 PHPSESSID = 6c434958428f334e6cfcd769e938772a
A questo punto, non ci capisco più nulla: anche perché, volendo cancellare il cookie impostato, non lo trovo da nessuna parte e con nessun nome ... dove sbaglio?
E c'era per caso un altro sistema più semplice per ottenere lo stesso risultato?
Graze anticipatamente a chi potrà aiutarmi.