ограничения — php ограничивает пользовательский контент

Поэтому я пытаюсь создать фиктивный веб-сайт, где только пользователи, помеченные как премиум, могут видеть определенный контент. Поскольку это фиктивный веб-сайт, его можно выделить, установив флажок «да» или «нет» при создании учетной записи. Но мне трудно понять, как я могу проверить весь сайт, чтобы убедиться, что пользователь является премиум-участником, а не обычным пользователем или гостем. На самой странице регистрации я подумал, что мог бы использовать оператор if, чтобы изначально пометить его так

if($user['premium'] == 1){
$_SESSION['premium'] = true;
}

но как бы я сделал так, чтобы страница, подобная membersonly.php, отображалась ТОЛЬКО, если пользователь является премиум-участником? Я предполагаю, что мне придется использовать либо функцию, либо класс, но я действительно не знаю, что мне нужно делать внутри.

РЕДАКТИРОВАТЬ
Я предполагаю, что я не объяснил себя достаточно ясно, неудивительно, так как я отправил это в 2:00. Я не хочу просто перенаправлять обычных пользователей и гостей из membersonly.php. Я хочу, чтобы ссылка на страницу пользователя была только на навигационной панели, если у пользователя есть премиум-аккаунт. Можно ли это сделать с помощью оператора if или мне нужно создать функцию или класс, предназначенный для мониторинга этого?

0

Решение

Вы можете просто сделать следующие шаги:
1. Нажмите кнопку «Публиковать событие», чтобы сначала проверить, является ли пользователь премиум или нормальным.
2. Поставьте условие if, если пользователь премиум, то

header('Location: ****.php');

иначе к другому файлу php, используя тот же способ.

ПРИМЕЧАНИЕ: вам нужно добавить в базу данных, если пользователь премиум или нормальный.

0

Другие решения

Я предполагаю, что вы знаете базовый php, следуйте инструкциям ниже на вашей странице членства.

  1. Создать соединение с базой данных.

  2. Получить пользователя с идентификатором пользователя (я думаю, что вы уже использовали логин для этого).

  3. Проверьте условие, где пользователь премиум или нет, если пользователь не премиум, затем перенаправьте его на домашнюю страницу.

    require_once('connection.php');
    // Fetch user details.
    if($user['premium'] != 1){
    header("location:index.php");
    }

0

Добавьте столбец флага в вашу таблицу БД is_premium. При сохранении, если пользователь
Премиум, чем вставить 1 в этом флаге еще 0. Затем создайте функцию, которая проверяет
если вошел в систему пользователь премиум или нет и вызывать эту функцию в начале каждого
page.following — это реализация функции, которая проверяет премиум
пользователь.

 function checkPremium(){
if($_SESSION['premium'] == true){
return true;
}else{
header('Location:some_other_page.php');
}
}
0
По вопросам рекламы [email protected]