25
Апр
2017

Настройка 404 ошибки в php

Сейчас на сайте, если происходит запрос к несуществующей статье или разделу текстом вывозится, что такой статьи или раздела не существует, но сервер отдает 200. Как настроить для таких страниц 404 ошибку? Нагуглить получилось такую конструкцию

<?php 
header("HTTP/1.0 404 Not Found");
exit(); 
?>

Но я не понимаю, куда ее добавить нужно и как использовать.
Запрос к mysql выглядит так

<?php
 function get_articles($link){
   $sql  = 'SELECT * FROM articles WHERE alias_cat ="'.$_GET['id_cat'].'" AND alias ="'.$_GET['id'].'"';
   $result = mysqli_query($link, $sql);
   $articles= array();
   while($row = mysqli_fetch_assoc($result)) {
       $articles[] = $row;
   }
   return $articles;
 }
?>

кусок php код на странице статьи так:

<?php
   $articles = get_articles($link);
 ?>
 <?php if (count($articles) ===0 ) : ?>
   <h1 class="h1">Страница не найдена</h1>
 <?php else: ?>
 <?php foreach($articles as $article): ?>
   <h1 class="h1"><?=$article['name']?></h1>
 <?php endforeach; ?>
<?php endif; ?>  

При попытке добавить конструкцию в любой участок кода выдает ошибку о том, что header уже задан. Знаю, что добавлять нужно в самое начало, но ведь сначала нужно проверить существует или нет страница, а для этого подключиться к базе. Или я что-то не так понимаю?

Источник: https://ru.stackoverflow.com/questions/658281/%D0%9D%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B9%D0%BA%D0%B0-404-%D0%BE%D1%88%D0%B8%D0%B1%D0%BA%D0%B8-%D0%B2-php

Share

Тебе может это понравится...