Buon giorno a tutti,
avrei una domanda da porre ... mi servirebbe sapere se usando php, js e ajax (ajax ancora non lo conosco) è possibile fare una cosa di questo genere:
1) Ogni volta che viene aperto il sito avviene un controllo sul cookie del utente e se esiste viene riconosciuto con tutte le mecchaniche del caso.
2) Se il cookie non c'è si verifica se il browser li supporta inviandone uno di prova e, in caso affermativo:
2.1) Si procede in modo normale
altrimenti
2.2) Appare un popup dove c'è scritto qualcosa tipo cookie non supportati ecc...
3) Quale che sia l'evento del punto due l'eseguzione del programma continua normalmente con la sola eccezione che non si potrà godere dei servizi dei cookie.
In php basta una semplicissima classe, o una semplice funzione, per ottenere l'effetto desiderato tuttavia, poichè i cookie vengono letti dopo aver ricaricato la pagina, è necessario un refresh della stessa o inviare una variabile con GET al url ma questa seconda opzione vingola poi il visitarore a dover ridigiatare l'url iniziale con l'iconveniente di trovarsi sempre allo stesso punto.
Alcuni esempi.
Semplice controllo dei cookie:
Codice PHP:
<?php
if (!isset($_COOKIE['username'])) { // Verifico il cookie del utente
// Se non è settato invio un cookie di test
setcookie ( test, 'test' );
// Mi riparo dalle vulnerabilita di PHP_SELF
$redirect = htmlentities(substr($_SERVER['PHP_SELF'], 0, strcspn($_SERVER['PHP_SELF'], "\n\r")), ENT_QUOTES);
$php_self = $redirect;
// Ricarico la pagina
header('Location:' . $php_self);
}
if (!isset($_COOKIE['test'])) { // Se non è settato il cookie di prova il browser non li accetta
// Avviso l'utente (con un echo o un javascript).
echo "Il browser non accetta i cookie";
} else {
echo "Il browser accetta i cookie";
}
?>
In questo modo riesco a controllare i cookie ma sono vincolato a un refresh (oltre al fatto che in questo esempio ho anche l'errore perchè gli header sono già stati inviati dalla funzione setcookie).
Grazie per le risposte