Створення движка на mvc. Начинам робити систему розподілу прав користувачів.
Всім привіт! Продовжуємо займатися вдосконаленням нашої CMS і нашого движка. Сьогодні ми будемо займатися системою прав користувачів.
Створіть додаткове поле role в таблиці users. Його тип буде ENUM, а значення будуть `default`,`admin`,`owner`. За замовчуванням поставте значення `default`.
користувачеві jesse поставте роль в значення `owner`, Створіть нового користувача з логіном joe і паролем таким же, як і у користувача jesse. Тобто просто скопіюйте MD5 хеш поля password у користувача jesse і вставте його в поле password користувача joe. Йому значення поставте `default`.
Відкрийте файл login_model.php, перейдіть до методу run і після виконання методу execute пропишіть наступне:
Відео: Основи PHP (рівень 2). Робота з користувачами. Авторизація і поділ прав доступу. урок 7
$ data = $ sth-gt;fetch() -
Також, не забудьте додати поле role в sql запиті вище.
Відео: CMS на PHP
І, звичайно ж, додайте це в сесію відразу після ініціалізації.
Session::set(`Role`, $ data[`Role`]) -
Тепер відкриємо файл header.php і трохи змінимо код, який знаходиться всередині блоку з id = header.
lt ;?php if(Session::get(`LoggedIn`)==false) :? gt;
lt ;?php echo URL-?gt;index "gt; Index
lt ;?php echo URL-?gt;help "gt; Help
lt ;?php endif-?gt;
lt ;?php if(Session::get(`LoggedIn`)==true) :? gt;
lt ;?php echo URL-?gt;dashboard "gt; Dashboard
lt ;?php if(Session::get(`Role`)==`Owner`) :? gt;
lt ;?php echo URL-?gt;user "gt; Users
lt ;?php endif-?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;
Тепер повністю скопіюйте файл dashboard.php в папці controllers і створіть новий файл user.php в тій же папці. Вставте скопійований код в цей файл. Змініть назву класу на User.
Відео: Створення CMS на php - 18 урок (Пишемо авторизацію в адмінку, частина 2)
Після визначення змінної $ logged пропишемо наступний код.
// ...
$ role =Session::get(`Role`) -
if($ logged ==true|| $ role !=`Owner`){
// ...
видаліть рядок
$ this-gt;view-gt;js = array(`Dashboard / js / default.js`) -
І все інше, крім методу index. У методі index потрібно змінити аргумент методу render.
$ this-gt;view-gt;render(`User / index`) -
Тепер створимо папку user в папці view, а в папці user створимо папку js. створимо файл index.php.
Відео: 01 PHP Пишемо свій движок з повного нуля Частина 1 Єдина точка входу
У файлі index.php пропишемо наступне:
відкриємо файл dashboard.php в папці controllers і трохи змінимо метод logout.
publicfunction logout(){
Session::destroy() -
header(`Location:`.URL.`Login`) -
exit() -
}
Ну, думаю, поки зупинимося на цьому, а в наступній статті продовжимо робити систему прав користувачів.
- Як зробити авторизацію користувачів через facebook.
- Як створити admin-панель для сайту
- Як зробити типи користувачів на php
- Як зробити систему рефералів на php
- Як дізнатися довжину поля в sql.
- Як створити движок для сайту
- Що нового в php7.1: видимість констант.
- Як збільшити значення поля на 1 через sql
- Загальні папки linux
- Створення движка на mvc. Створюємо можливість додавання користувача в базу даних через адмін панель
- Створення движка на mvc. Покращуємо шифровку пароля користувачів.
- Створення движка на mvc. Закінчуємо роботу з чатом.
- Чутливі до регістру пошук для mysql
- Створення движка на mvc. Робимо можливість редагування і видалення користувачів.
- Створення движка на mvc. Починаємо робити чат.
- Sql-запити для роботи з таблицями
- Створення движка на mvc. Вступ.
- Створення движка на mvc. Продовжуємо роботу над чатом.
- Створення движка на mvc. Створюємо авторизацію.
- Створення движка на mvc. Виводимо сторінки. Частина 4.
- Створення движка на mvc. Починаємо роботу з базою даних.