Задать вопрос
@Artur937
junior

Почему не возникает ошибка 404, при этом подгружается шаблон страницы?

$id берем из URL : mysite.ru/job/$id

Контроллер
include_once ROOT.'/models/Job.php';

class JobController{
    
    public static function actionGetJob($id){

        $job = Job::getJob($id);

        require_once (ROOT. '/views/job/job.php');

        return true;
    }



}


Модель
class Job{

    public static function actionGetJob($id){
        $id = intval($id);

        if ($id) {
            $db = Db::getConnection();
            header("Content-Type: text/html; charset=UTF-8");
            $db->query( "SET CHARSET utf8" );

            $result = $db->query ("SELECT * FROM jobs WHERE id = " . $id);
            $result->setFetchMode(PDO::FETCH_ASSOC);

            return $result->fetch();

        }
    }
}


При попытке ввода любого $id, которому нет соответствующего значения в таблице, страница все равно подгружается. На ней висит пустой шаблон. Подскажите, почему не возникает ошибка 404 и как это исправить?
  • Вопрос задан
  • 47 просмотров
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
Dase23
@Dase23
back-end developer
чтобы она возникала - ее нужно создать)

if(!$result->fetch()) {
   header('HTTP/1.0 404 Not Found');
  readfile('404missing.html');
  exit();
}
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы