我有一个案例,如果页面已被访问,我想使用cookie重定向到另一个页面。但是我希望这可以在“第二”上完成,而不是在用户第一次访问该页面时。我的猜测是,我不知何故需要将Cookie与Counter相结合,但我不知道该怎么做。这是我到目前为止所拥有的。
if (isset($_COOKIE['beenhereonce'])) {
$redirect_url = "Location: home.php";
} else {
setcookie("beenhereonce",time()+120);
$redirect_url = "Location: form.php";
}
我希望在用户访问该页面时第二次设置beehereonce。我怎样才能改善这一目标以实现我的目标?
答案 0 :(得分:3)
您可以使用Cookie来保持访问量,然后控制您的代码。
// Checking if cookie exist
if( isset($_COOKIE['visits']) )
{
// Checking if the user already visited the site
if( $_COOKIE['visits'] >= 1 )
$redirect_url = "Location: home.php";
// Increasing cookie value
setcookie("visits", $_COOKIE['visits'] + 1, time()+120);
}
else
{
// First visit
$redirect_url = "Location: form.php";
setcookie("visits", 1, time()+120);
}
答案 1 :(得分:1)
您只需设置Cookie的值即可。此值将计算页面访问的次数。 然后,您可以执行以下操作进行检查:
if( isset($_COOKIE['cookiename']) )
{
if( $_COOKIE['cookiename[count]'] == '2' ) {
$redirect_url = "...";
}
else {
$redirect_url = "...";
setcookie("cookiename[count]", $_COOKIE['cookiename[count]'] + 1, time()+X);
}
}
else {
setcookie("cookiename[count]", 1, time()+X);
}
X是您的Cookie过期的时间
答案 2 :(得分:0)
你可以在顶部试试这个:
if (isset($_COOKIE['beenhereonce'])) {
$redirect_url = "Location: home.php";
}
这就在底部:
setcookie("beenhereonce",time()+120);
这样,cookie在第一页加载结束时设置,并在第二页加载时检查。