1

重複の可能性:
ページ数にelseステートメントを追加しますか?

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

?>
4

1 に答える 1

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()関数はユーザーがログインしていないときにのみ実行されます。

お役に立てれば。

于 2012-12-26T23:57:17.263 に答える