У меня есть этот код, который я пытаюсь использовать для подсчета количества обращений к странице, прежде чем перенаправить пользователя на другую страницу.количество просмотров страниц и перенаправление?
Идея состоит в том, что пользователи, не входящие в систему, могут просматривать файл profile.php только 6 раз, прежде чем перенаправляться на страницу регистрации, но это также делает это для зарегистрированных пользователей, и я хочу, чтобы зарегистрированные пользователи могли access profile.php столько раз, сколько они хотят.
Может кто-нибудь, пожалуйста, покажите мне, где я иду не так.
так пример, если сеанс равен нулю, а затем ограничивает доступ к странице 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();
}
}
?>
На самом деле требуется только 'empty()'. –
это не работало. он по-прежнему делает то же самое. не могли бы вы объяснить немного больше, что мне нужно сделать. спасибо –
@TommyLincoln: Вам нужно '&&' в '||' в if-clause. Если у вас все еще есть проблемы, я рекомендую сделать «var_dump ($ _ SESSION)», чтобы убедиться, что сеанс установлен так, как вы ожидаете. – xbonez