Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: В теле php-страницы выдать 404 ошибку, если неверные get-параметры
Форумы портала PHP.SU » » HTTP и PHP » В теле php-страницы выдать 404 ошибку, если неверные get-параметры

Страниц (1): [1]
 

1. usr-php - 08 Мая, 2019 - 03:02:09 - перейти к сообщению
Добрый день!
Есть сайт на php 5.6, хостинг на nic.ru (RU-CENTER) - структура каталогов на хостинге у nic.ru такая:
mysite.ru\docs - в этой папке хранится весь сайт.
mysite.ru\errordocs - хранятся html-страницы с ошибками, например mysite.ru\errordoc\404.html - страница, отображаемая пользователю, в случае возникновения 404 ошибки.

Стоит задача, если в строке запроса передано неверное значение параметра, то необходимо выводить пользователю 404 ошибку т.е. страницу 404.html. Как это сделать?
Например, если пользователь в браузере набрал неправильное значение параметра www[dot]mysite[dot]ru/art.php?art=unknownvalue выдавать 404-ошибку т.к. у параметра art значения могут быть только art1 и art2.

Ниже даю шаблон моей страницы
CODE (html):
скопировать код в буфер обмена
  1. <html>
  2. ...
  3. <body>
  4. ...
  5.   <div id="page">
  6.   ...
  7.   <?
  8.    $art  = $_GET['art'];
  9.    switch($art) :
  10.    default :
  11.    if(isset($art) {
  12.      //ЗНАЧЕНИЕ ПАРАМЕТРА НЕВЕРНО - необходимо вызвать 404-ошибки т.е. страницы errordoc/404.html на сервере
  13.     } else {
  14.      include_once('arts/artdef.php');
  15.     }
  16.     break;
  17.  
  18.     case ("art1");
  19.     include_once('arts/art1.php');
  20.     break;
  21.  
  22.     case ("art2");
  23.     include_once('arts/art2.php');
  24.     break;          
  25.  
  26.     endswitch;
  27.      ?>      
  28.   </div>
  29. ...
  30. </body>
  31. </html>

 

Powered by ExBB FM 1.0 RC1