Cookie动态重定向

时间:2015-03-30 12:09:57

标签: php redirect cookies

我有一个目标网页,每当用户进入该网页时都会设置一个Cookie。如果设置了此cookie,则会将用户重定向到我的主页。问题是,如果我的用户想要再次进入登录页面并且他们已经设置了此cookie,它将自动将它们重定向到主页。我的域名将设置在着陆页上,这意味着每次用户进入我的网站时,他们都会看到此页面。

有没有办法动态允许使用Cookie访问目标网页?我的用户应该可以随意进入登录页面;但是,如果用户直接进入我的网站,我也希望将用户定向到我的主页。

这是我的代码:

PHP:

<?php
    $time = time() + (60 * 60 * 24);

    if (isset($_COOKIE['landing'])) {
        header('Location: home.php');
    } else {
        setcookie("landing", true, $time);
    }
?>

2 个答案:

答案 0 :(得分:1)

好吧,您可以使用查询参数,例如。 index.php?noredirect=1,并在您的脚本中:

if(isset($_COOKIE['landing']) && $_GET['noredirect'] != 1) {
    header('Location: home.php');
} else if(!isset($_COOKIE['landing'])) {
    setcookie('landing', true, $time);
}

现在,如果您将?noredirect=1附加到网址,则不会重定向用户,但默认情况下会(如果设置了Cookie)。

答案 1 :(得分:0)

您需要知道用户是否想留下来。所以你必须设置一个变量或类似的东西。

if ( isset( $_COOKIE['landing'] ) && !$user_wants_to_stay ) {
    header( "Location: home.php" ); 
} else {
    ...
}

您可以使用会话或第二个cookie,它将通过javascript设置或只是URL中的get变量