Створення движка на mvc. Створюємо авторизацію.
Всім привіт, і ми продовжуємо створювати наш движок на MVC, і сьогодні ми створимо авторизацію.
Наші одинички вивелися, все добре.
Відео: MVC движок на php і mysql. Урок 5 Авторизація в адмін панелі
відкриємо index.php логіна в папці view.
Action заданий на метод run. Перейдемо в контролер login.php і додамо його
publicfunction run(){
$ this-gt;model-gt;run() -
}
У моделі логіна приберемо висновок одиничок. створимо метод run ().
publicfunction run(){
$ sth = $ this-gt;db-gt;prepare("SELECT id FROM users WHERE login =: login AND password = MD5 (: password)") -
$ sth-gt;execute(array(
`: Login`= Gt; $ _POST[`Login`],
`: Password`= Gt; $ _POST[`Password`]
)) -
$ data = $ sth-gt;fetchAll() -
$ count = $ sth = rowCount() -
if($ count gt;0){
Session::init() -
Session::set(`LoggedIn`,true) -
header(`Location: ../dashboard`) -
}else{
header(`Location: ../login`) -
}
}
Тут ми використовуємо PDO, і я знову ж хочу нагадати, хто його не знає, дивіться на сайті статті по цій темі.
Відео: Створення сайту c нуля на PHP з використанням найпростішого MVC
Тепер у нашій базі mvc нам потрібно створити таблицю users з 3 полями: id, login, password.
login і password будуть типом varchar, login довжиною 25, password довжиною 32 символу, там буде хеш.
id буде primary key і autoincrement.
Додамо тестового користувача з логіном jesse і паролем - хешірованного логіном.
У конструкторі моделі логіна викличемо батьківський конструктор.
publicfunction __construct(){ parent::__construct() -}
Зараз створимо новий файл dashboard.php в папці controllers, куди скопіюємо все з контролера login крім методу run.
classDashboardextendsController{
// ...
publicfunction index(){
$ this-view-gt;render(`Dashboard / index`) -
}
}
В папці views створимо папку dashboard, де створимо файл index.php з таким змістом.
Dashboard...Loginin only...
В папці libs створимо файл Session.php
classSession{
publicstaticfunction init(){
@session_start() -
}
publicstaticfunctionset($ key, $ value){
$ _SESSION[$ key]= $ value-
}
publicstaticfunctionget($ key){
if(isset($ _SESSION[$ key]))
return $ _SESSION[$ key] -
}
publicstaticfunction destroy(){
// unset ($ _ SESSION) -
session_destroy() -
}
}
Додайте підключення цього файлу в index.php після підключення бази даних.
require`Libs / Session.php`-
Викличемо в конструкторі класу Dashboard метод init () класу Session.
publicfunction __construct(){
parent::__construct() -
Session::init() -
$ logged =Session::get(`LoggedIn`) -
if($ logged ==false){
Session::destroy() -
header(`Location: ../login`) -
exit() -
}
}
Також створимо метод logout () в класі dashboard.
publicfunction logout(){
Session::destroy() -
header(`Location: ../login`) -
exit() -
}
Тепер перейдемо в header.php і створимо там посилання на вихід в меню.
lt ;?php if(Session::get(`LoggedIn`)==true) :? gt;
lt ;?php echo URL-?gt;dashboard / logout "gt; Logout
lt ;?php else:?gt;
lt ;?php echo URL-?gt;login "gt; Login
lt ;?php endif-?gt;
Тепер додамо виклик методу init () перед блоком з id = header
lt ;?php Session::init() -?gt;
Все що залишилося, визначити константи в файлі database.php.
define(`DB_TYPE`,`Mysql`) -
define(`DB_HOST`,`Localhost`) -
define(`DB_NAME`,`Mvc`) -
define(`DB_USER`,`Root`) -
define(`DB_PASS`,``) -
Тепер перейдіть в файл Database.php і там змініть підключення, підставивши замість значень константи, які ми тільки що визначили.
Отже, можу вас привітати, ми тільки що зробили авторизацію. Дякую за увагу і удачі!
- Як зробити авторизацію користувачів через facebook.
- Перевірка зайнятості логіна на ajax
- Створення движка на mvc. Створюємо можливість додавання користувача в базу даних через адмін панель
- Створення движка на mvc. Покращуємо шифровку пароля користувачів.
- Створення движка на mvc. Закінчуємо роботу з чатом.
- Чутливі до регістру пошук для mysql
- Запит sql на вибірку записів
- Робота з ftp через php
- Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
- Створення движка на mvc. Починаємо робити чат.
- Відправка cookie через curl
- Створення движка на mvc. Вступ.
- Створення xml-документа на php
- Створення движка на mvc. Продовжуємо роботу над чатом.
- Обробка форми в php
- Директива register_globals
- Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
- Парсинг xml-документа на php
- Md5 хешування в php
- Створення движка на mvc. Починаємо роботу з базою даних.
- Подвійна сортування на sql