Chcę przekierować do strony powitalnej po raz pierwszy odwiedzających witrynę za pomocą plików cookie, aby pamiętać, że przyszedł. Jest to jednak łatwe dla osób z wyłączonymi ciasteczkami, nigdy nie chcę przekierowywać ich na stronę powitalną.Sprawdź, czy pliki cookie z PHP (nie JS) są używane do przekierowania strony powitalnej.
Problem polega na tym, że kiedy ustawiam ciasteczko, PHP go nie zobaczy dopóki nie załaduję strony. Oznacza to, że użytkownicy po raz pierwszy nie są przekierowywani, chyba że odwiedzą stronę główną dwa razy lub przeładują stronę.
Oto co mam, że działa, ale wymaga przeładowania:
setcookie("test",'1',time() + 3600,'/');
if(isset($_COOKIE['test'])){
if(isset($_COOKIE['bfc_splash'])){}else{
header("Location: splash/");
}
}
próbowałem tego, ale wydaje informacji sesji jest przechowywany w pliku cookie, bo to po prostu nieskończenie przekierowania:
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");
}
Wolałbym nie używać javascript do sprawdzania plików cookie, ponieważ osoba, która wyłącza pliki cookie, prawdopodobnie również wyłączy javascript. Wszelkie dociekania lub linki do rozwiązań byłyby mile widziane. Nie znalazłem zbyt wiele do tej pory.
prawo, to dlaczego nigdy * * chcesz przekierować kogoś z ciasteczka zostały wyłączone na stronie powitalny. – Karl
Nie można stwierdzić, czy użytkownik ma wyłączone ciasteczka lub odwiedza witrynę po raz pierwszy. –