DelphinPRO пишет:вот, я даже не поленился, ссылочку вам нашел на эту книжку
http://www[dot]ozon[dot]ru/context/detail/id/5648968/
За ссылочку спасибо... у меня такая уже есть... вот Вам бесплатный вариант http://www[dot]proklondike[dot]com/books[dot][dot][dot]ra_PHP_2011[dot]html
Я вопрос задал, с целью хотя бы представить, как все это должно выглядеть... можно на обычном примере, авторизация пользователя... как я это представляю:
Класс, подключения к базе данных (синглтон), конструктор приватный, в нем собственно подключение и выбор базы... еще публичный статический метод, который проверяет создан ли объект класса, если нет, то создает объект и возвращает его, если да то возвращает существующий, пару методов с параметрами для выполнения запросов...
Класс проверки постов, в зависимости от типа данных, пришедших в глобальном массиве, производит манипуляции...
И вот как сделать дальше?! Предполагаю, написать интерфейс или абстрактный класс, от которого будут наследоваться классы для авторизации пользователя, при чем этот класс объединяет как авторизацию в админке, так и пользовательскую... различие между ними, это в способе вывода сообщения...
Тоесть, логика такая, классы вызываются в случае отсутствия сессии, если ее нет, то вызывается класс авторизации, в нем проверяются наличие данных в массиве пост, все это фильтруется и если посты не null, вызываем статичный метод подключения к базе данных, он нам возвращает объект класса, далее вызываем метод выбора из базы данных в зависимости. где параметрами будут данные из поста (пусть это будет логин), он нам вернет уже обработанный результат запроса (массив с данными), где мы сравниваем хеши паролей.. и если все нормально, то открываем сессию и присваиваем некоторое значение в сессии...
Но вот если пароли не совпадают, нам нужно вывести сообщение об этом, в админке оно будет просто выводится, распарсив HTML шаблон и заменив текст в поле <legend> филдсета самой формы авторизации... а вот как сделать на сайте... нужно чего то подменять.. как правильно????
Надеюсь понятно описал, моменты с исключениями проверками на ошибки и все такое опустил!!!
|