仅在未登录时运行脚本?

时间:2012-12-26 23:51:08

标签: php session

  

可能重复:
  Adding an else statement to page count?

我正在使用php页面计数脚本。它计算未登录用户在将页面重定向到注册页面之前可以访问页面的次数。

基本上,未登录的用户可以在重定向到注册之前最多查看其他用户配置文件5次。但这也适用于登录用户,页数计算次数并重定向登录用户。我只希望页面计数运行并在用户未登录时重定向。

有人能告诉我我需要在代码中添加什么才能让它做到这一点吗? 我已经尝试了一切,但无法弄明白。

<?
!session_id() ? session_start() : null;

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();
    }
}

?>

1 个答案:

答案 0 :(得分:0)

在你调用函数verify_profile_visit_limit()之前,你应该有这样的东西:

if(!isset($_SESSION['logged_in']) && empty($_SESSION['logged_in'])){
    verify_profile_visit_limit();
}

要使其工作,您需要在用户登录时设置标记变量,例如$_SESSION['logged_in'],以检查用户是否已登录。

因此,只有当用户未登录时,您的verify_profile_visit_limit()功能才会运行。

希望这有帮助。