如果用户访问页面超过 5 次,我会尝试重定向用户。所以基本的想法是,如果用户没有登录我的网站并且他们正在浏览用户个人资料(profile.php),那么这会计算 cookie 会话的点击次数并重定向到一个页面以表示注册或其他内容.
我是 php 新手,不知道从哪里开始。有人可以告诉我。
基本上,您应该能够在服务器端或 cookie 的会话变量中设置计数器。在每次访问个人资料页面时增加该计数器。如果该计数器大于5
然后使用 phpheader
函数将用户重定向到您的注册页面。这是使用会话变量来实现此目的的快速代码提示:
if(! isset($_SESSION["ProfileVisitCount"])){
$_SESSION["ProfileVisitCount"] = 1;
}
$_SESSION["ProfileVisitCount"]++;
if($_SESSION["ProfileVisitCount"] > 5){
header("Location: http://domain.com/signup");
exit();
}
还要确保在使用这些代码之前启动 php 会话session_start()
。
同样的事情可以使用这样的 cookie 来实现:
if(! isset($_COOKIE["ProfileVisitCount"])){
setcookie("ProfileVisitCount", "1", time()+3600);
}
if($_COOKIE["ProfileVisitCount"] > 5){
header("Location: http://domain.com/signup");
exit();
}
else {
setcookie("ProfileVisitCount", ($_COOKIE["ProfileVisitCount"] + 1), time()+3600);
}
这在 PHP 中很容易实现。只需使用计数值设置一个会话并在每次访问后读取它。然后如果计数为 5 或更多,则可以重定向。下面是一个示例代码
!session_id() ?session_start() : null; if(!isset($_SESSION['page_access_count'])){ $_SESSION['page_access_count'] = 1; }elseif($_SESSION['page_access_count'] >= 5){ //重定向到注册页面 header('位置:/signup.php'); 出口; } // 增加页面访问会话值 $_SESSION['page_access_count']++; ...
使用 cookie。这是我在 PHP 中的做法:
<?php
if (!isset($_COOKIE["cookie1"]))
{
setcookie(
"cookie1",
"1",
time() + (20 * 365 * 24 * 60 * 60),
'/',
'.example.com'
);
}
else{
setcookie(
"cookie2",
"2",
time() + (20 * 365 * 24 * 60 * 60),
'/',
'.example.com'
);
else{
setcookie(
"cookie3",
"3",
time() + (20 * 365 * 24 * 60 * 60),
'/',
'.example.com'
);
}
else{
setcookie(
"cookie4",
"4",
time() + (20 * 365 * 24 * 60 * 60),
'/',
'.example.com'
);
}
else{
setcookie(
"cookie5",
"5",
time() + (20 * 365 * 24 * 60 * 60),
'/',
'.example.com'
);
}
else
{
header("Location: http://domain.com/signup");
}
}
?>
确保将 .example.com 替换为您的域名。并保留“。” 而不是“www”。如果您希望它在使用带有“www”的域名运行它时工作,或者没有它。
告诉我它是否有效......我总是可以修改它。