Створення движка на mvc. Створюємо авторизацію.

Створення движка на 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 і там змініть підключення, підставивши замість значень константи, які ми тільки що визначили.

Отже, можу вас привітати, ми тільки що зробили авторизацію. Дякую за увагу і удачі!

Поділися в соціальних мережах:

Схожі
Створення движка на mvc. Продовжуємо роботу над чатом.Створення движка на mvc. Продовжуємо роботу над чатом.
Створення движка на mvc. Робимо можливість редагування і видалення користувачів.Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
Відправка cookie через curlВідправка cookie через curl
Робота з ftp через phpРобота з ftp через php
Запит sql для сортування результату вибіркиЗапит sql для сортування результату вибірки
Запит sql на вибірку записівЗапит sql на вибірку записів
Парсинг xml-документа на phpПарсинг xml-документа на php
Директива register_globalsДиректива register_globals
Чутливі до регістру пошук для mysqlЧутливі до регістру пошук для mysql
Створення движка на mvc. Вступ.Створення движка на mvc. Вступ.
» » Створення движка на mvc. Створюємо авторизацію.