Бит после знака вопроса называется Строка запроса . Формат, как правило, хотя и не всегда, пары ключ-значение, где пары разделяются амперсандом (&), а значение отделяется от имени знаком равенства (=): ?var1=value1&var2=value2&...
. Большинство сред веб-программирования предоставляют простой способ доступа к парам имя-значение в этом формате. Например, в PHP есть superglobal , который является ассоциативным массивом этих пар ключ-значение. В вашем примере error_id будет доступен через:
$_GET['error_id']
Причина имени "GET" заключается в том, что переменные строки запроса обычно связаны с запросом HTTP GET. POST-запросы также могут содержать переменные GET, тогда как GET-запросы не могут содержать переменные POST.
Что касается остальной части вашего вопроса, вы можете подойти к текстовой проблеме несколькими способами, самое простое из которых - включить идентификатор ошибки:
$error_id = isset($_GET['error_id']) ? $_GET['error_id'] : 0;
switch($error_id) {
case 1:
echo "Error 1";
break;
default:
echo "Unknown Error";
break;
}
и более сложные способы включают поиск сообщения об ошибке из файла, базы данных или чего-то еще.