помощь в php выводе ошибки

82
14 сентября 2021, 09:00

Есть такой код notfound.php:

      $error_type = 'default';
$request    = ( isset($_SERVER['REQUEST_URI']) ) ? $_SERVER['REQUEST_URI'] : NULL;
$query      = explode('/', $request);
if ( is_array($query) ) {
    foreach ( $query as $key => $value ) {
        if ( $value == 'error' ) {
            $error_type = ( isset($query[$key+1]) ) ? $query[$key+1] : NULL;
        }
    }
}
switch ( $error_type ) {
    case 'video_private':
        $message = $lang['error.video_private'];
        break;
    case 'album_private':
        $message =  $lang['error.album_private'];
        break; default:
            $message =  $lang['error.unexpected_error'];
            break;
    }

отдается только default сообщение error.unexpected_error, url выглядит site.ru/notfound/video_private и должно отдаваться error.video_private

Answer 1

Надо эту строку переделать

if ( is_array($query) ) {
    foreach ( $query as $key => $value ) {
        if ( $value == 'error' ) {
            $error_type = ( isset($query[$key+1]) ) ? $query[$key+1] : NULL;
        }
    }
}

в

if (is_array($query)) {
    $error_type = end($query);
}

Иначе у вас error_type либо null, либо default.

READ ALSO
Долго загружаются данные от Api через цикл Laravel

Долго загружаются данные от Api через цикл Laravel

Всем привет, подскажите пожалуйста я что то делаю не так или это сайт так отдает долго данные?

124
Как получить из массива массивов необходимые данные?

Как получить из массива массивов необходимые данные?

Всем привет, подскажите пожалуйста как получить из массива массивов необходимые данные?

86
Запрос к базе mysql, с нетривиальными условиями

Запрос к базе mysql, с нетривиальными условиями

Есть таблица users (id|name|email)Таблица огромная, более 100 миллионов записей

139
Ссылка на комментарий php/laravel

Ссылка на комментарий php/laravel

Подскажите,как сделать ссылку на комментарий к статье как здесь

111