PHP ограничить пользовательский контент
Поэтому я пытаюсь создать фиктивный веб-сайт, где только пользователи, помеченные как премиум, могут видеть определенный контент. Поскольку это фиктивный веб-сайт, его можно выделить, установив флажок "да" или "нет" при создании учетной записи. Но мне трудно понять, как я могу проверить весь сайт, чтобы убедиться, что пользователь является премиум-участником, а не обычным пользователем или гостем. На самой странице регистрации я подумал, что мог бы использовать оператор if, чтобы изначально пометить его так
if($user['premium'] == 1){
$_SESSION['premium'] = true;
}
но как бы я сделал так, чтобы страница, подобная membersonly.php, отображалась ТОЛЬКО, если пользователь является премиум-участником? Я предполагаю, что мне придется использовать либо функцию, либо класс, но я действительно не знаю, что мне нужно делать внутри.
РЕДАКТИРОВАТЬ Я думаю, я не объяснил себе достаточно ясно, не удивительно, так как я опубликовал это в 2 часа ночи. Я не хочу просто перенаправлять обычных пользователей и гостей из membersonly.php. Я хочу, чтобы ссылка на страницу пользователя была только на навигационной панели, если у пользователя есть премиум-аккаунт. Может ли это быть достигнуто с помощью оператора if, или мне нужно создать функцию или класс, предназначенный для мониторинга этого?
3 ответа
Я предполагаю, что вы знаете базовый 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');
}
}
Вы можете просто сделать это, выполнив следующие действия: 1. Сначала нажмите кнопку "Опубликовать событие", чтобы проверить, является ли пользователь премиальным или обычным. 2. Поставьте условие if, если пользователь премиум, то
header('Location: ****.php');
иначе к другому файлу php, используя тот же способ.
ПРИМЕЧАНИЕ: вам нужно добавить в базу данных, если пользователь премиум или обычный.