Привет,
У меня есть такой код:
if ($_GET['s']= = "page1" || $_GET['s']= = "page2" || $_GET['s']= = "page3") {
dosomething();
}
и я получаю эту ошибку:: Undefined index: s in
От чего я могу отказаться, только добавив эту строку:
$_GET['s'] = "";
но тогда это не выполнит код правильно, поскольку $ _GET ['s'] не должно иметь никакого начального значения. Как мне исправить это, кроме отключения уведомлений и ошибок?
Спасибо.
@FrozenFire in_array() ищет значения в массиве, не заботясь о его ключах. Прочтите про Массивы PHP.
Извините, это был array_key_exists()php.net/manual/en/function.array-key-exists.php.






Вы можете проверить свой $_GET['s']
if (isset($_GET['s'])) {
// your code goes here...
}
isset () используется для проверки существования индекса.
Я получаю эту фатальную ошибку: невозможно использовать isset () для результата выражения.
Извините, код отредактировал, я пропустил ) в состоянии if.
Теперь я получил около 100 уведомлений, хахахаха
Не могли бы вы добавить в свой вопрос новые ошибки и упомянуть об использовании isset().
if (isset($_GET['s'])) { if ($_GET['s']= = "page1" || $_GET['s']= = "page2" || $_GET['s']= = "page3") { dosomething(); } }@CainNuke Добавьте уведомления. В этом случае вы не будете вводить условие, поэтому уведомление s не будет выброшено. Также if (isset($_GET['s']) && ($_GET['s']= = "page1" || $_GET['s']= = "page2" || $_GET['s']= = "page3")... был бы чище
Выполните встроенную проверку, и, возможно, у вас есть еще 3 ошибки.
Извините, какие еще 3 ошибки?
Не 100, а вроде 2, 3 ошибки: D. Решил ли isset проблему?
Используйте
isset()илиisset(), чтобы проверить, присутствует ли параметрsв строке запроса перед использованием$_GET['s'].