Не происходит авторизация на php (mvc)
Не происходит авторизация. Я думаю что неверно описан класс Controller_Base.
<?php
// включим отображение всех ошибок
error_reporting (E_ALL);
'''// подключаем конфиг
include ('config.php');
// Соединяемся с БД
$dbObject = new PDO('mysql:host=' . DB_HOST . ';dbname=' . DB_NAME, DB_USER, DB_PASS);
$dbObject->exec('SET CHARACTER SET utf8');
// подключаем ядро сайта
include (SITE_PATH . DS . 'core' . DS . 'core.php');
// Загружаем router
$router = new Router();
// задаем путь до папки контроллеров.
$router->setPath (SITE_PATH . 'controllers');
// запускаем маршрутизатор
$router->start();
?>
Файл user.php
}
function login(){
if (isset($_COOKIE['username'])){
header("Location: /index.php");
exit();
}else{
if(!isset($_REQUEST['username'])){
$this->template->view('login');
}else{
$name = $_REQUEST['username'];
$select = array(
'where' => "username = '".$name."'"
);
$model = new Model_Users($select);
$model->fetchOne();
$pass = $model->password;
$rights = $model->rights;
$id = $model->id;
$pas = md5($_REQUEST['password']);
if ($pass === $pas){
setcookie('username', $_REQUEST['username'], time()+60*60*24, '/');
setcookie('rights', $rights, time()+60*60*24, '/');
setcookie('id', $id, time()+60*60*24, '/');
echo "success";
return 'success';
}
}
}
}
Файл controller_base
<?php
// абстрактый класс контроллера
Abstract Class Controller_Base_Admin {
protected $registry;
protected $template;
protected $layouts; // шаблон
public $vars = array();
// в конструкторе подключаем шаблоны
function __construct() {
// шаблоны
$this->template = new Template($this->layouts, get_class($this));
if(!isset($_COOKIE['username'])){
header("Location: /user/login/");
exit();
}
}
abstract function index();
}
Файл core.php
function __autoload($className) {
print_r(get_declared_classes());
$filename = strtolower($className).'.php';
// определяем класс и находим для него путь
$expArr = explode('_', $className);
if(empty($expArr[1]) OR $expArr[1] == 'Base'){
$folder = 'classes';
}else{
switch(strtolower($expArr[0])){
case 'controller':
$folder = 'controllers';
break;
case 'model':
$folder = 'models';
break;
default:
$folder = 'classes';
break;
}
}
// путь до класса
$file = SITE_PATH . $folder . DS . $filename;
// проверяем наличие файла
if (file_exists($file) == false) {
return false;
}
// подключаем файл с классом
include ($file);
}
Файл controller_base_admin
<?php
// абстрактый класс контроллера
Abstract Class Controller_Base_Admin {
protected $registry;
protected $template;
protected $layouts; // шаблон
public $vars = array();
// в конструкторе подключаем шаблоны
function __construct() {
// шаблоны
$this->template = new Template($this->layouts, get_class($this));
if(!isset($_COOKIE['username'])){
header("Location: /user/login/");
exit();
}
}
abstract function index();
}