Cookie を使用してサイトに初めてアクセスした人のために、スプラッシュ ページにリダイレクトして、訪問したことを記憶させたいと考えています。これは簡単ですが、Cookie を無効にしている場合は、スプラッシュ ページにリダイレクトしたくありません。
私が直面している問題は、Cookie を設定すると、ページをリロードするまで PHP がそれを認識しないことです。つまり、最初の訪問者は、ホームページに 2 回アクセスするか、ページをリロードしない限り、リダイレクトされません。
これは私が持っているものですが、リロードが必要です:
setcookie("test",'1',time() + 3600,'/');
if(isset($_COOKIE['test'])){
if(isset($_COOKIE['bfc_splash'])){}else{
header("Location: splash/");
}
}
私はこれを試しましたが、無限にリダイレクトするだけなので、SESSION情報はCookieに保存されているようです:
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");
}
Cookie を無効にする人は JavaScript も無効にする可能性が高いため、Cookie のチェックに JavaScript を使用しないことをお勧めします。ソリューションへの洞察やリンクは大歓迎です。私はこれまでのところ多くを見つけていません。