kemply
@kemply
школьник

Как создать запрос на php?

Как можно создать запрос при помощи знака "?" ?
Вот например, иногда когда я захожу на страницу, меня кидает на site.ru/?404

А если ошибка доступа, то site.ru/?403

при помощи каких операторов, я могу создавать такие же запросы?
Попробую объяснить так:
Пользователь зашел на сайт которые не существует и файл .htaccess переадресовывает его на страницу site.ru/error.php?404
а в файле error.php такой код:

$site = $_SERVER['REQUEST_URI'];
if($site == 'site.ru/error.php?404'):
  echo '<h1>404</h1>';
endif;
if($site == 'site.ru/error.php?403'):
  echo '<h1>403</h1>';
endif;

но я уверен, что этот код не правильный. Я хочу сделать, чтоб в файле error.php была инструкция по запросам, которые создаются знаком "?" в url. Но я не знаю, как создать в php инструкцию на такой запрос
  • Вопрос задан
  • 2705 просмотров
Решения вопроса 2
zenaku
@zenaku
вот функция, если я правильно понял
UPD1
echo '<h1 align = "center">'.$_SERVER["QUERY_STRING"] * 1 .'</h1>';
Ответ написан
parotikov
@parotikov
Wordpress, Laravel, OctoberCMS, Vue, Nuxt.js
то, что идет после "?" - это GET-параметры, как уже было сказано выше. Если у вас единственный гет-параметр (?404), то в скрипте вы можете вывести его например так:
<?php
echo key($_GET);
?>

соответственно, проверку на корректность переданного параматра делаете так:
if(key($_GET)=='404')
{
 //тут ваши действия
}
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
0neS
@0neS
<?php
if (isset($_GET['403'])) {
    echo 'Ошибочка 403';
} else if (isset($_GET['404'])) {
    echo 'Ошибочка 404';
} else if (isset($_GET['503'])) {
    echo 'Ошибочка 503';
}
Ответ написан
Комментировать
kemply
@kemply Автор вопроса
школьник
Нет, вы не поняли. Попробую так:
Если в файле .htaccess написать ErrorDocument 404 /error.php?404, то если я ошибусь страницей, сервер меня перенаправит на site.ru/error.php?404. Но допустим, что файл error.php пуст. И следовательно, я увижу только белый экран и нигде не будет написано про ошибку "404". Но если я напишу в файле echo '404';, то мне покажет текст "404". Вот только, он мне будет показывать этот текст, даже если нет запроса "?404". Например, если я пропишу в адресной строке site.ru/error.php или site.ru/error?403 мне всё равно будет показывать надпись "404". Как сделать так, чтобы этот текст, появлялся только тогда, когда я попадаю на страницу site.ru/error?404, а для другого, например ошибку 503 он показывал только тогда, когда я делаю попадаю на страницу site.ru/error?503
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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