Проблема с условием определения post и get запроса
Всем привет!
Проблема возникает при прописании условий в папке аpp/Services/Router.php , получается там я разделяю get запрос от post запроса происходит что то не то и код не срабатывает. Помогите пожалуйста, найти ошибку в коде.
public static function enable()
{
$query = $_GET['q'];
foreach (self::$list as $route) { //перебор передаваемых данных
if($route["uri"] === '/'.$query){ // если такой урл есть то пропускаем дальше
if($route["post"] === true){ // если это метод пост пропускаем дальше
$action = new $route["class"]; // создаем экземпляр класса Auth
$method = $route["method"]; //передача метода
$action->$method($_POST); //
die();
}
} else { // елси это не пост метод, продолжаем отсюда и переходим по ссылке
require_once "views/pages/".$route['page'].'.php';
die();
}
}
self::errors();//нет такого урла? ошибка значит!
}
полный код на git-е https://github.com/ksa06/php/tree/main/praktika_oop
Ответы (1 шт):
Автор решения: Алексей
→ Ссылка
У вас else стоит не там, где нужно. Полагаю, что должно быть так:
public static function enable()
{
$query = $_GET['q'];
foreach (self::$list as $route) { //перебор передаваемых данных
if($route["uri"] === '/'.$query){ // если такой урл есть то пропускаем дальше
if($route["post"] === true){ // если это метод пост пропускаем дальше
$action = new $route["class"]; // создаем экземпляр класса Auth
$method = $route["method"]; //передача метода
$action->$method($_POST); //
die();
} else { // если это не пост метод, продолжаем отсюда и переходим по ссылке
require_once "views/pages/".$route['page'].'.php';
die();
}
}
}
self::errors();//нет такого урла? ошибка значит!
}