Урок 1. Авторизация для сайта на php
Дата публикации: 27-02-2013

От автора: любое хорошее веб-приложение содержит разделы, доступ к которым должен быть ограничен для обычного пользователя. Поэтому у разработчиков очень часто возникает задача – создания системы авторизации пользователей на сайте, которая предусматривает вывод количества пользователей on-line, а также разделения по ролям и привилегиям пользователей. В сегодняшнем уроке мы с Вами займемся реализацией этой задачи, применительно к сайту написанному с помощью объектно-ориентированного подхода.
Этот урок будет состоять из двух частей и будет продолжением урока Регистрация и авторизация пользователей на сайте, который мы с Вами проходили ранее, поэтому система регистрации и все что с ней связано, будет взята с первого урока. В первой части мы рассмотрим авторизацию пользователей и тонкости ее реализации при объектно-ориентированном программировании.
По результатам урока Вы получите готовую систему авторизации пользователей для сайта, написанную при помощи объектно-ориентированного программирования. Научитесь реализовывать вход пользователей в учетную запись и выход из нее. Увидите практически, как просто закрывается доступ пользователям на сайте, написанном при помощи ООП. А, главное, будете понимать саму идею и принципы безопасной авторизации пользователей на сайте. В следующей части урока мы с Вами доработаем наш скрипт, добавим вывод на экран количества пользователей on-line, и кто именно из зарегистрированных пользователей сейчас посещает Ваш сайт. А также разделим пользователей по их ролям и привилегиям.
Все уроки курса:
Метки: авторизация, ООП, регистрация
Такой вопрос возник,
function get_body(){
$this->db = new Model (HOST, USER, PASS, DB);
$this->user = $this->db->get_user();
if ($this->autch) {
try {
if (!this->user) {
thow new Exception ();
}
}
catch (Exception $a) {
header(«Location: index.php?option=login»);
exit();
}
}
}
вот у вас вызывается исключение когда пользователя нет. Но почему нельзя написать проще, например вот так:
if ($this->autch) {
if (!this->user) {
header(«Location: index.php?option=login»);
exit();
}
}
чем использование Exeption будет в данной ситуации более целесообразней?
P.S. мой предыдущий коммент можно удалить…
Лучше будет если Вы зададите свой вопрос на форуме вразделе , специально предусмотренном для вопросов по уроками Премиум. Если доступа в этот раздел у Вас нет, тогда напишите в нашу службу поддержки запрос и доступ будет открыт.
Заработало когда вместо Exeption написала \Exeption.
В исходнике в classe login вместо
$msg = $this->db->login($login,$password,$member);
наверное правильнее
$msg = $this->db->login($login,$password,$member = true);
потому что без true не работает, когда не отмечаешь чекбокс. Если поставить true, то всё работает.
Без предварительного курса по MVC и ООП очень трудно для понимания. + устаревшие методы — Deprecated: __autoload() is deprecated….