Page 1 of 1

как убрать notice

Posted: Mon Mar 28, 2016 8:33 am
by carloswm
в common.php
прописали правило для кастомной замены дефолтных сортировок

if ($_GET['order'] == 'latest') {
$_GET['order'] = 'date';
$GLOBALS['my_var_x'] = 'latest';
} elseif ($_GET['order'] == 'big') {
$_GET['order'] = 'duration';
$GLOBALS['my_var_x'] = 'big';
} else {
$_GET['order'] = 'ctr';
$GLOBALS['my_var_x'] = 'popular';
}

из за этого на индексной странице ошибка

Notice: Undefined index: order in /home/путь/common.php on line 11
Notice: Undefined index: order in /home/путь/common.php on line 14

подскажите, как убрать этот нотайс с индекса?

если по номерам это срочки

line 11 - if ($_GET['order'] == 'latest') {
line 14 - } elseif ($_GET['order'] == 'big') {

Re: как убрать notice

Posted: Mon Mar 28, 2016 9:16 am
by richmantrade
Он же пишет Undefined index. У тебя $_GET['order'] в запросе нету. Нужно проверять задано ли :

Code: Select all

if (isset($_GET['order'])) {
  if ($_GET['order'] == 'latest') {
    $_GET['order'] = 'date';
    $GLOBALS['my_var_x'] = 'latest';
  } elseif ($_GET['order'] == 'big') {
    $_GET['order'] = 'duration';
    $GLOBALS['my_var_x'] = 'big';
  }
}
} else {
$_GET['order'] = 'ctr';
$GLOBALS['my_var_x'] = 'popular';
}

Re: как убрать notice

Posted: Mon Mar 28, 2016 9:43 am
by admin
Вообще во всех сравнениях надо проверять isset()

Может быть не самый красивый но простой вариант это в начале добавить

if (!isset($_GET['order'])) $_GET['order'] = '';

Re: как убрать notice

Posted: Tue Mar 29, 2016 12:22 pm
by carloswm
попробовали указанные варианты, ошибка не исчезает

причем на сортировках она не выводится
а во всех остальных пагах (индекс, видео) высвечивается

Re: как убрать notice

Posted: Tue Mar 29, 2016 12:35 pm
by admin
Значит не везде проставили указанную строку
Дабы убедиться что это проблема не скрипта, а этих строк - можете их убрать и ругаться не будет.

Если не разберетесь как нормально добавить указанные строки можете попросить админа отключить вывод этих ошибок в php.ini