<MyRusakov.ru />

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Фреймворк Yii 2.0 с нуля. Пример создания сайта

Видеокурс "Фреймворк Yii 2.0 с нуля. Пример создания сайта" обучит Вас созданию профессиональных сайтов с использованием фреймворка Yii. В курсе есть 2 раздела: теоретический и практический. В теоретическом разделе будут разобраны возможности фреймворка Yii с примерами их использования, а в практической части будет создан сайт Blog.MyRusakov.ru с помощью полученных знаний из теоретического раздела.

Так же почти ко всем урокам идут упражнения для закрепления материала из урока на практике.

После прохождения курса Вы без труда сможете создавать любые сайты с использованием фреймворка Yii, причём делать это будете быстро и качественно.

Подробнее
Подписка

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Каким движком Вы предпочитаете пользоваться?

Форум сайта MyRusakov.ru

Урок Михаила про Админ-панель
28.11.2013 00:45:12 Урок Михаила про Админ-панель Сообщение #1
Ильюха

Ильюха

Новичок

Новичок

Дата регистрации:
21.11.2013 22:53:48

Сообщений: 18

http://blog.myrusakov.ru/admin.html

Здравствуйте!
Вот такой имею вопрос. Пытался сам исправить и так и эдак - не получается.

--------functions.php-------------

function checkUser($email, $password) {
global $mysqli;
connectDB();
$result_set = $mysqli->query("SELECT * FROM `users` WHERE `email`='$email' AND `password`='$password'";
closeDB();
if ($result_set->fetch_assoc()) return true;
else return false; }

function isAdmin($email) {
global $mysqli; connectDB();
$result_set = $mysqli->query("SELECT * FROM `users` WHERE `email` = '$email'";
$row = $result_set->fetch_assoc();
closeDB();
return $row["admin"]; }

----------------------------------

--------start.php-----------------

session_start();
require_once "../Lib/functions.php";
if (!((checkUser($_SESSION['email'], $_SESSION['password'])) && (isAdmin($_SESSION['email'])))) {
header("Location: /Admin/auth.php";
exit; }

-----------------------------------

--------auth.php-----------------

session_start();
require_once "../Lib/functions.php";
if (checkUser($_SESSION["email"], $_SESSION["password"])) {
header("Location: /Admin/index.php";
exit;
}

-----------------------------------

--------index.php-----------------

require_once "start.php";

-----------------------------------


В общем так..
1. Если заходит неавторизовавшийся юзер, то всё как надо, его не пускают.
2. Если заходит админ - тоже всё в порядке.
3. А если заходит любой другой авторизованый юзер, то получается вечный цикл между auth.php и index.php

Помогите, пожалуйста.


Профиль Ответить
28.11.2013 15:23:36 Урок Михаила про Админ-панель Сообщение #2
tikkiwiki

tikkiwiki

Модератор

Модератор

Дата регистрации:
15.11.2013 15:36:59

Сообщений: 194

Здравствуйте, Ильюха. Проследите сами цепь событий. У Вас действительно получается замкнутый круг из-за header route.
Профиль Ответить
28.11.2013 20:21:34 Урок Михаила про Админ-панель Сообщение #3
Ильюха

Ильюха

Новичок

Новичок

Дата регистрации:
21.11.2013 22:53:48

Сообщений: 18

Я чуть-чуть исправил.. Вроде работает..
Так нормально?

session_start();
require_once "../Lib/functions.php";
if ((checkUser($_SESSION["email"], $_SESSION["password"])) && (isAdmin($_SESSION["email"]))) {
header("Location: /Admin/index.php";
exit;
}
else header("Location: ../index.php"; // редирект на главную страницу сайта.
Профиль Ответить
28.11.2013 20:53:46 Урок Михаила про Админ-панель Сообщение #4
tikkiwiki

tikkiwiki

Модератор

Модератор

Дата регистрации:
15.11.2013 15:36:59

Сообщений: 194

Так нормально, как Вы поняли, проблема была очевидной и это наоборот "не тормозит", а развивает Вас. Вы - молодец, что заметили такую простую ошибку и справились с ней.
Профиль Ответить