ユーザーが profile.php にアクセスした回数をカウントするために、ページ数を使用しています。ログインしていない場合、5 人のユーザー プロファイルしか表示できません。
各プロファイルには、profile.php の拡張子があります (例: profile.php?id=1 または id=2 など)。
ページ数は正常に機能します。基本的に、ユーザーが 5 つ以上のプロファイルをクリックしようとすると、limit.php ページにリダイレクトされ、制限に達したことをユーザーに通知し、さらに表示するにはログインする必要があります。
以下にリストされているいくつかのプロファイルを除外するように設定しました。
ユーザーが 99999 や 99998 などの除外されたプロファイルをクリックしても、ユーザーを limit.php ページにリダイレクトしません。これらのプロファイルを除外したいのでこれで問題ありませんが、ユーザーが間に 1 や 8 などの別のプロファイルをクリックし、ユーザーが 99999 または 99998 に再アクセスしようとすると、許可されずにリダイレクトされますか?
スクリプトを編集して、ユーザーが他のプロファイルにアクセスした後またはアクセスしている間でも、リダイレクトせずにプロファイル 99999 または 99998 にアクセスできるようにする方法を教えてもらえますか?
これが明確であることを願っています。ありがとう
<?php
!session_id() ? session_start() : null;
if(!isset($_SESSION['page_access_count'])){
$_SESSION['page_access_count'] = 1;
}elseif($_SESSION['page_access_count'] >= 6){
// redirect to signup page
header('Location: limit.php');
exit;
}
$free_profiles = array(99999,99998,99997,99996,99995,99994,99993); // array of profile IDs to exclude
if (! in_array($_GET['id'], $free_profiles)) {
$_SESSION['page_access_count']++;
}
?>