Verificare la presenza di biscotti con PHP (non JS) da utilizzare per schizzi pagina di reindirizzamento

StackOverflow https://stackoverflow.com/questions/2290140

  •  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.

È stato utile?

Soluzione

È possibile utilizzare una sessione e propagare l'id di sessione tramite GET invece di biscotto.

See: http://php.net/manual/en/session.idpassing .php

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top