Создание собственного фреймворка. Авторизация администратора. Часть 2. Урок 31

Создание фреймворка

От автора: приветствую вас, друзья. В этом уроке будет продолжена тема создания собственного PHP-фреймворка и CMS на базе этого фреймворка. Из данного урока вы узнаете, как можно ограничить доступ к админской части сайта и реализовать авторизацию администратора.

скачать исходники

Бесплатный курс по PHP программированию

Освойте курс и узнайте, как создать динамичный сайт на PHP и MySQL с полного нуля, используя модель MVC

В курсе 39 уроков | 15 часов видео | исходники для каждого урока

Получить курс сейчас!

Разработка веб-приложения на PHP

Создайте веб-приложение на PHP на примере приема платежей на сайте

Смотреть

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Комментарии (14)

  1. nikas151

    Добрый день, писал по вашим урокам, все круто, все получается и хорошо понятно, но на 5 уроке возникла ошибка D:\Openserver\OpenServer\domains\fw.loc\vendor\core\base\Model.php on line 26
    Строка кода -> return $this->pdo->query($sql);
    перепробовал практически все,последний вариант остался обратиться к вам.

  2. nikas151

    вот полный текст
    Fatal error: Uncaught Error: Call to a member function query() on null in D:\Openserver\OpenServer\domains\fw.loc\vendor\core\base\Model.php:26 Stack trace: #0 D:\Openserver\OpenServer\domains\fw.loc\app\controllers\MainController.php(28): vendor\core\base\Model->findAll() #1 D:\Openserver\OpenServer\domains\fw.loc\vendor\core\Router.php(68): app\controllers\MainController->indexAction() #2 D:\Openserver\OpenServer\domains\fw.loc\public\index.php(43): vendor\core\Router::dispatch() #3 {main} thrown in D:\Openserver\OpenServer\domains\fw.loc\vendor\core\base\Model.php on line 26

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

    • Андрей

      Скорее всего, проблема как раз с подключением к БД. В папке config находится файл с подключением к БД, попробуйте проверить его. Также меня смущают Ваши пути к файлам в ошибках, например: D:\Openserver\OpenServer\domains\fw.loc\vendor\core\base\Model.php:26… в уроке путь к файлу такой: D:\Openserver\OpenServer\domains\fw.loc\vendor\fw\core\base\Model.php:26… т.е. в ошибке почему-то не хватает папки fw.
      Да, и непонятно, почему у Вас вообще используется метод query(), о котором говорится в ошибке. Дело в том, что этот метод писался еще в первых уроках, если точнее, то в уроках 5 и 6. Он писался просто для примера и, начиная с урока 7 он больше не использовался, поскольку подключался RedBeanPHP и использовались его методы для работы с БД… поэтому для меня полнейшая загадка, почему у Вас получается с исходниками 31-го урока такая ошибка, если этот метод нигде там не используется… и поэтому без просмотра проблемы на Вашем сервере что-то сложно сказать.

      • nikas151

        Спасибо, я все перерыл, в итоге взял исходник с 31 урока, в итоге ошибка подключения к бд, я проверил файл bd_config меняю там путь и dmname но всегда идет ошибка подключения,»Текст ошибки: Could not connect to database (fw).».хотелось бы просто разобраться с этим для себя, и после уже перейти к платным курсам.

        • Андрей

          Ну так а сама БД fw у Вас есть? Также проверьте пароль, насколько я знаю, в новых версиях Open Server пароль используется и это строка «root», попробуйте использовать этот пароль.

  3. nikas151

    Да, БД есть и fw по урокам и создавал другую, и менял в опенсервере порты и добавлял их в адрес, все равно он как будто просто не может подключиться, код ведь отрабатывает и выдает свою ошибку

    • Андрей

      Я написал выше, что в новых версиях Open Server для пользователя root используется такой же пароль — root. Вы учли этот момент? Указали пароль?

  4. nikas151

    Да, я и других создавал, подскажите, может он просто не подключаться к phpmyadmin, он же от туда загружает таблицы?

    • Андрей

      PhpMyAdmin — это просто приложение, через которое можно работать с БД, не более того. Если в ошибке Вам сообщается, что нет подключения к БД, значит, нужно проверять настройки подключения и устанавливать корректные. Можете написать в нашу службу поддержки, попробую подключиться к Вам удаленно и посмотреть, других вариантов не вижу.