Verificare la presenza di biscotti con PHP (non JS) da utilizzare per schizzi pagina di reindirizzamento
-
21-09-2019 - |
Domanda
Voglio reindirizzare a una splash page per i visitatori prima volta al sito utilizzando i cookie per ricordare che sono venuti. Questo è facile, tuttavia, per le persone con i cookie disabilitati, non voglio per orientarle verso la pagina iniziale.
Il problema che sto funzionando in è che quando ho impostato il cookie, PHP non vedrà fino a quando ho ricaricare la pagina. Questo significa che i visitatori prima volta non vengono reindirizzati a meno che non visitano la home page di due volte o ricaricare la pagina.
Ecco quello che ho che funziona ma richiede una ricarica:
setcookie("test",'1',time() + 3600,'/');
if(isset($_COOKIE['test'])){
if(isset($_COOKIE['bfc_splash'])){}else{
header("Location: splash/");
}
}
Ho provato a farlo, ma sembra informazioni SESSIONE è memorizzato in un cookie, perché reindirizza solo infinitamente:
if(isset($_COOKIE['test'])){
if(isset($_COOKIE['bfc_splash'])){}else{
header("Location: splash/");
}
}elseif(!isset($_COOKIE['test']) && !isset($_SESSION['cookies'])){
setcookie("test",'1',time() + 3600,'/');
$_SESSION['cookies'] = '1';
header("Location: index.php");
}
Io preferirei non usare javascript per verificare la presenza di cookie, dal momento che qualcuno che disabilita i cookie rischia di disabilitare anche javascript. Ogni intuizione o link a soluzioni sarebbe molto apprezzato. Non ho trovato molto finora.
Soluzione
È possibile utilizzare una sessione e propagare l'id di sessione tramite GET invece di biscotto.
Altri suggerimenti
Se l'utente ha disattivato i cookie, non sarà in grado di dire se sta visitando il sito per la prima volta o no, perché ogni visita sarà simile alla prima visita.
Guardando in un sito di esempio, barackobama.com, passano una variabile GET quando si salta alla home page del reindirizzamento schizzi. Questo permette a qualcuno di visualizzare la home page, se non hanno i cookie abilitati. Essi non sembrano preoccuparsi troppo che chiunque con i cookie disabilitati verrà reindirizzato ancora una volta fatto clic sul collegamento Home nella parte superiore (a cui manca la variabile GET). Dal momento che non sembrano preoccuparsi la gente con i cookie disabilitati, Ti seguirò vestito dal momento che non riesco a trovare una soluzione migliore.