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

146
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

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

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

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

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

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

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

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

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

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

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

168