使用PHP(而不是JS)检查cookie以用于启动页面重定向

Kar*_*arl 5 php cookies splash-screen

我想重定向到第一次访问网站的启动页面使用cookie记住他们来了.但是,对于禁用cookie的人来说,这很容易,我从不想将它们重定向到启动页面.

我遇到的问题是,当我设置cookie时,PHP将不会看到它,直到我重新加载页面.这意味着首次访问者不会被重定向,除非他们访问主页两次或重新加载页面.

这是我的工作,但需要重新加载:

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

我试过这个,但似乎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");
}
Run Code Online (Sandbox Code Playgroud)

我不想使用javascript来检查cookie,因为禁用cookie的人可能也会禁用javascript.任何有关解决方案的见解或链接都将非常感激.到目前为止我还没有找到太多东西.

Mat*_*iva 2

您可以使用会话并通过 GET 而不是 cookie 传播会话 ID。

请参阅: http: //php.net/manual/en/session.idpassing.php