2013-06-22 4 views
0

Я делал такие вещи в этом Python/Django много, но сегодня я должен сделать это на PHP по существующему полузавернутому коду. Это мой первый раз с PHP.Создание системы входа администратора/пользователя в PHP

В основном это обычная система входа в систему с логином входа в систему и логином пользователя.

Таблица моих пользователей в моей базе данных sno, username, password, admin, где admin является 1 для пользователей с правами администратора.

Теперь при входе, я понимаю, я могу просто проверить значение admin для кто зарегистрировался в и header("Location: adminhome.php"); если администратор и header("Location: userhome.php");, если нет.

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

Это мой первый и только один раз, работа с PHP а, в противном случае я бы пройти через различные Guid

+0

Если это одноразовая работа, почему бы не пойти с коробкой CMS или даже с каркасом вроде CodeIgniter? Это избавит вас от необходимости выполнять эти основные функции. – GolezTrol

+0

Когда вы регистрируете пользователя, устанавливаете ли вы что-нибудь в '$ _SESSION' var? Если это так, просто поставьте чек на странице администратора для 'if (isset ($ _ SESSION ['username']) === false) {header ('Location: /')}' например. –

ответ

2

После того, как вы убедились, что пользователь является администратором в login.php, вставьте происходит некорректно

session_start(); 
$_SESSION["is_admin"] = true; 

в login.php (или whaterver вы назвали его, файл, в котором заголовок() вызовы, и вставить в adminhome.php следующие

session_start(); 
if(isset($_SESSION["is_admin"]) && $_SESSION["is_admin"]) 
{ 
    echo "You are an admin!"; 
} 
else 
{ 
    header("Location: userhome.php"); 
} 

Это безопасно и должно работать.

+0

Итак, на каждой странице, где я хочу * только * админы для доступа, мне нужно будет поместить этот код: ' session_start(); if (isset ($ _ SESSION ["is_admin"]) && $ _SESSION ["is_admin"]) { echo "Вы админ!"; } else { header ("Location: userhome.php"); } ' – user1265125

+0

Да точно; бесполезное предложение обойти ограничение персонажа – Lorenz