0

このスクリプトを正しく動作させようとしていますが、うまくいきません。何をする必要があるか教えてください。

現時点では、スクリプトはページへのアクセス回数をカウントし、カウントが 6 に達するとユーザーを別のページにリダイレクトします。

ユーザーがログインしていない場合にのみリダイレクトする必要がありますが、代わりに、ログインしているユーザーもリダイレクトしています。どこが間違っているのか教えてください。

ありがとう。

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

    ?>
4

1 に答える 1

0

「ログインしていますか?」を追加します。ページ数チェックにチェックしてください:

    if (($_SESSION["page_access_count"] > 6) && (!isset($_SESSION['logged_in']))

ログインしている場合、チェックは失敗し、リダイレクトされません。

于 2013-01-23T16:19:14.300 に答える