Переадресация со страницы, если не совпадают данные пользователя в БД
Нужно сделать так, что бы когда обычный пользователь пытался перейти на страницу, на которую он не должен попадать, его переадресовывало на главную страницу ../
У меня есть скрипт, который не показывает пользователю кнопку <a href="../admin"><button class="green">Панель администратора</button></a>, если в бд, в столбце role у него не указано admin.
Возможно ли как то переделать этот скрипт, что бы он по такому же принципу не пускал обычных пользователей на определённую страницу?
$connect = mysqli_connect('localhost', 'root', 'root', 'storas_calendar');
$results = $connect->query("SELECT `role` FROM `users` WHERE `id`='".$_SESSION['user']['id']."' LIMIT 1");
$row = $results->fetch_assoc();
if ($row['role']=="admin"){
echo '<a href="../admin"><button class="green">Панель администратора</button></a>';
}
else {
echo '';
}
Ответы (2 шт):
Автор решения: Daniil Loban
→ Ссылка
как вариант во втором кейсе прописать:
echo '<script>location.assign(\'http://login/\');</script>'
Автор решения: Давид Манжула
→ Ссылка
Во-первых, else { echo ''; } не надо=)
А далее вот так по аналогии:
<?php
$connect = mysqli_connect('localhost', 'root', 'root', 'storas_calendar');
$results = $connect->query("SELECT `role` FROM `users` WHERE `id`='".$_SESSION['user']['id']."' LIMIT 1");
$row = $results->fetch_assoc();
if ($row['role'] != "admin"){
header("Location: ../"); // Редирект
die(); // Прекращаем работу скрипта, всё что ниже - не выполнится
}