Створення движка на 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
Створення движка на mvc. Продовжуємо роботу над чатом.
Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
Відправка cookie через curl
Робота з ftp через php
Запит sql для сортування результату вибірки
Запит sql на вибірку записів
Парсинг xml-документа на php
Директива register_globals
Чутливі до регістру пошук для mysql
Створення движка на mvc. Вступ.