Это будет звучать действительно глупо, но я не могу понять, почему я получаю эту ошибку.
Я создал поле выбора, названное «query_age» в моей форме html:
<form method="get" action="user_list.php"> <select name="query_age"> <option value="">Doesn't matter</option> <option value="between 18 and 30">18 - 30</option> <option value="between 31 and 40">31 - 40</option> <option value="between 41 and 50">41 - 50</option> <option value="between 51 and 60">51 - 60</option> <option value="between 61 and 70">61 - 70</option> <option value="between 71 and 80">71 - 80</option> <option value="between 81 and 90">81 - 90</option> <option value="> 90">Older than 90</option> </select> 
В соответствующей форме php у меня есть:
 $query_age = $_GET['query_age']; 
Когда я запускаю страницу, я получаю эту ошибку:
Примечание. Неопределенный индекс: query_age в index.php в строке 19
Я не понимаю, почему это происходит, и я хотел бы знать, как заставить его уйти.
  Я не вижу php-файл, но это может быть так – 
  замените в файле php: 
 $query_age = $_GET['query_age']; 
с:
 $query_age = (isset($_GET['query_age']) ? $_GET['query_age'] : null); 
  Скорее всего, в первый раз вы запускаете свой скрипт без ?query_age=[something] и $_GET не имеет ключа типа query_age . 
Проверка присутствия члена перед его назначением, на мой взгляд, довольно уродлива.
Kohana имеет полезную функцию, чтобы упростить выбор параметров.
Вы можете сделать свой собственный так …
 function arrayGet($array, $key, $default = NULL) { return isset($array[$key]) ? $array[$key] : $default; } 
И тогда сделайте что-нибудь вроде …
 $page = arrayGet($_GET, 'p', 1); 
При первом запуске страницы индекс query_age не существует, потому что он не был отправлен из формы.
Когда вы представите форму, она будет существовать, и она не будет жаловаться на это.
#so change $_GET['query_age']; #to: (!empty($_GET['query_age']) ? $_GET['query_age'] : null);по#so change $_GET['query_age']; #to: (!empty($_GET['query_age']) ? $_GET['query_age'] : null);
  если вы используете isset, как ответ, уже опубликованный синглами, просто убедитесь, что в конце есть скобка: 
 $query_age = (isset($_GET['query_age']) ? $_GET['query_age'] : null);