我有一个目标网页,每当用户进入该网页时都会设置一个Cookie。如果设置了此cookie,则会将用户重定向到我的主页。问题是,如果我的用户想要再次进入登录页面并且他们已经设置了此cookie,它将自动将它们重定向到主页。我的域名将设置在着陆页上,这意味着每次用户进入我的网站时,他们都会看到此页面。
有没有办法动态允许使用Cookie访问目标网页?我的用户应该可以随意进入登录页面;但是,如果用户直接进入我的网站,我也希望将用户定向到我的主页。
这是我的代码:
PHP:
<?php
$time = time() + (60 * 60 * 24);
if (isset($_COOKIE['landing'])) {
header('Location: home.php');
} else {
setcookie("landing", true, $time);
}
?>
答案 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变量