Ошибка Undefined index: page

118
20 апреля 2022, 17:00

В файле шаблона имеется код

/*Add a Theme Options Page*/
function mytheme_add_admin() {
    global $themename, $shortname, $options;
    if ( $_GET['page'] == basename(__FILE__) ) {
        if ( 'save' == $_REQUEST['action'] ) {
                foreach ($options as $value) {
                    update_option( $value['id'], $_REQUEST[ $value['id'] ] ); }
                foreach ($options as $value) {
                    if( isset( $_REQUEST[ $value['id'] ] ) ) { update_option( $value['id'], $_REQUEST[ $value['id'] ]  ); } else { delete_option( $value['id'] ); } }
                header("Location: themes.php?page=functions.php&saved=true");
                die;
        } else if( 'reset' == $_REQUEST['action'] ) {
            foreach ($options as $value) {
                delete_option( $value['id'] ); }
            header("Location: themes.php?page=functions.php&reset=true");
            die;
        }
    }
    add_theme_page($themename." Options", "".$themename." Options", 'edit_themes', basename(__FILE__), 'mytheme_admin');
}

строка if ( $_GET['page'] == basename(__FILE__) ) { выдаёт ошибку Undefined index: page

В поисках решения, нашёл эту ветку https://stackoverflow.com/questions/12468275/undefined-index-page-in но, ошибка исчезает, а тема меняется на дефолтную и я её не могу включить. В итоге откатился назад к этой ошибке.

Любой ваш совет будет принят во внимание.

Answer 1

В url нет такого GET параметра как page. Т.е mysite.com?page=page

Вам нужно предусмотреть логику работы скрипта в таком случае. К примеру Вместо

if ( $_GET['page'] == basename(__FILE__) ) {
  //code
}

К примеру

$page = $_GET['page'] ?? null;
if ($page == basename(__FILE__) ) {
  //code
}

Либо

if (isset($_GET['page']) && $_GET['page'] == basename(__FILE__) ) {
  //code
}
READ ALSO
Uncaught Error: Call to a member function fetch() on boolean in

Uncaught Error: Call to a member function fetch() on boolean in

помогите, пожалуйста, разобраться с ошибкой кодаЯ повторяла пример из книги PHP7 в подлиннике

234
Как поддерживать постоянную работу скрипта в фоновом режиме?

Как поддерживать постоянную работу скрипта в фоновом режиме?

На сервере поднимаю websocket сервер WorkermanДанный сервер запускается через командную строку (php cli) командой php start

214
Вывод готового изображения php скриптом

Вывод готового изображения php скриптом

В общем стоит такая задача:

150
Перестал работать openserver

Перестал работать openserver

Сидел себе спокойно работал, обновлял страницу в браузере дабы отслеживать изменения и вдруг (Не удается получить доступ к сайту) смотрю...

102