Поэтому я пытаюсь создать фиктивный веб-сайт, где только пользователи, помеченные как премиум, могут видеть определенный контент. Поскольку это фиктивный веб-сайт, его можно выделить, установив флажок «да» или «нет» при создании учетной записи. Но мне трудно понять, как я могу проверить весь сайт, чтобы убедиться, что пользователь является премиум-участником, а не обычным пользователем или гостем. На самой странице регистрации я подумал, что мог бы использовать оператор if, чтобы изначально пометить его так
if($user['premium'] == 1){
$_SESSION['premium'] = true;
}
но как бы я сделал так, чтобы страница, подобная membersonly.php, отображалась ТОЛЬКО, если пользователь является премиум-участником? Я предполагаю, что мне придется использовать либо функцию, либо класс, но я действительно не знаю, что мне нужно делать внутри.
РЕДАКТИРОВАТЬ
Я предполагаю, что я не объяснил себя достаточно ясно, неудивительно, так как я отправил это в 2:00. Я не хочу просто перенаправлять обычных пользователей и гостей из membersonly.php. Я хочу, чтобы ссылка на страницу пользователя была только на навигационной панели, если у пользователя есть премиум-аккаунт. Можно ли это сделать с помощью оператора if или мне нужно создать функцию или класс, предназначенный для мониторинга этого?
Вы можете просто сделать следующие шаги:
1. Нажмите кнопку «Публиковать событие», чтобы сначала проверить, является ли пользователь премиум или нормальным.
2. Поставьте условие if, если пользователь премиум, то
header('Location: ****.php');
иначе к другому файлу php, используя тот же способ.
ПРИМЕЧАНИЕ: вам нужно добавить в базу данных, если пользователь премиум или нормальный.
Я предполагаю, что вы знаете базовый php, следуйте инструкциям ниже на вашей странице членства.
Создать соединение с базой данных.
Получить пользователя с идентификатором пользователя (я думаю, что вы уже использовали логин для этого).
Проверьте условие, где пользователь премиум или нет, если пользователь не премиум, затем перенаправьте его на домашнюю страницу.
require_once('connection.php');
// Fetch user details.
if($user['premium'] != 1){
header("location:index.php");
}
Добавьте столбец флага в вашу таблицу БД is_premium. При сохранении, если пользователь
Премиум, чем вставить 1 в этом флаге еще 0. Затем создайте функцию, которая проверяет
если вошел в систему пользователь премиум или нет и вызывать эту функцию в начале каждого
page.following — это реализация функции, которая проверяет премиум
пользователь.
function checkPremium(){
if($_SESSION['premium'] == true){
return true;
}else{
header('Location:some_other_page.php');
}
}