我有这个代码,我试图用来计算一个页面在将用户重定向到另一个页面之前的点击次数。
这个想法是,未登录的用户只能在重定向到注册页面之前访问profile.php 6次,但它也是为登录用户执行此操作,我希望登录的用户能够访问profile.php尽可能多次。
有人可以告诉我我哪里出错了。
所以一个例子是如果session为null,则将页面访问限制为6次,但如果session =登录,则允许无限制访问。
<?
!session_id() ? session_start() : null;
if(!isset($_SESSION['logged_in']) && empty($_SESSION['logged_in'])){
verify_profile_visit_limit();
}
function verify_profile_visit_limit(){
$free_profiles = array(99999,99998,99997,99996,99995,99994,99993);
if(in_array($_GET["id"], $free_profiles)) return;
if(! isset($_SESSION["page_access_count"])){
$_SESSION["page_access_count"] = 1;
}
$_SESSION["page_access_count"]++;
if($_SESSION["page_access_count"] > 6){
header("Location: limit.php");
exit();
}
}
?>
答案 0 :(得分:2)
问题在于:
if(!isset($_SESSION['logged_in']) && empty($_SESSION['logged_in']))
$_SESSION['logged_in']
永远不能未设置 AND 为空。您需要在此处使用OR
运算符。