Проверьте на cookie с PHP (не JS) для использования для перенаправления страницы-заставки

Я хочу перенаправить к странице-заставке в первый раз посетителей сайта с помощью cookie, чтобы помнить, что они прибыли. Это легко, однако, для людей с отключенными куки, я никогда не хочу перенаправить их к странице-заставке.

Проблема, с которой я сталкиваюсь, состоит в том, что, когда я установил cookie, PHP не будет видеть его, пока я не перезагружу страницу. Это означает в первый раз, когда посетители не перенаправляются, если они не посещают домашнюю страницу дважды или перезагружают страницу.

Вот то, что я имею, который работает, но требует перезагрузки:

setcookie("test",'1',time() + 3600,'/');
if(isset($_COOKIE['test'])){
    if(isset($_COOKIE['bfc_splash'])){}else{
        header("Location: splash/");
    }
}

Я попробовал это, но кажется, что информация о СЕССИИ хранится в 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");
}

Я предпочел бы не использовать JavaScript для проверки на cookie, начиная с кого-то, кто отключает куки, вероятно, также отключит JavaScript. Любое понимание или ссылки на решения очень ценились бы. Я не нашел много до сих пор.

5
задан ישו אוהב אותך 2 October 2018 в 17:29
поделиться

3 ответа

Вы можете использовать сеанс и передавать идентификатор сеанса через GET вместо cookie.

См .: http://php.net/manual/en/session.idpassing.php

2
ответ дан 14 December 2019 в 19:11
поделиться

Если посмотреть на пример сайта, barackobama.com, они передают переменную GET, когда вы переходите на домашнюю страницу из всплывающего перенаправления. Это позволяет кому-либо просматривать домашнюю страницу, если у них не включены файлы cookie. Они, похоже, не слишком заботятся о том, что любой, у кого отключены файлы cookie, будет снова перенаправлен, как только они нажмут ссылку на главную вверху (в которой отсутствует переменная GET). Поскольку они, похоже, не заботятся о людях с отключенными файлами cookie, я последую их примеру, поскольку не могу найти лучшего решения.

1
ответ дан 14 December 2019 в 19:11
поделиться

Если у пользователя отключены файлы cookie, вы не сможете определить, посещает он сайт впервые или нет, потому что каждое посещение будет похоже на первое посещение.

2
ответ дан 14 December 2019 в 19:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: