Неопределенный индекс PHP

У меня есть этот код, и он дает мне неопределенную ошибку, если страна не является переменной в URL. Раньше у меня никогда не было этой проблемы, поэтому это явно связано с настройками сервера, но я бы предпочел не изменять их, потому что это, вероятно, сделано для целей безопасности. Я искал Google и не могу найти обходной путь, хотя я уверен, что это ослепительно очевидно!

$country = $_GET['country']; if(!$country){ $incoming = $outgoing = $sms = $free = "---"; } else { get_rates($country); } 

вы должны использовать следующий подход:

 if (!isset($_GET['country'])) { $incoming = $outgoing = $sms = $free = "---"; } else { get_rates($_GET['country']); } 

isset позволяет проверить, существует ли переменная (если мы не придаем ей значение false).

 $country = isset($_GET['country'])? $_GET['country'] : false; 

"Undefined index" означает, что элемент не существует в массиве. Вероятно, ваш сервер должен сообщить об этих ошибках, пока вашей системы пока нет. Проверьте, существует ли элемент перед его доступом.

 $country = null; if (!empty($_GET['country']) { $country = $_GET['country']; } 

Вероятно, вы должны проверить, установлен ли $ _GET ['страна']. Я бы обернул весь блок кода, который вы разместили в инструкции if которая проверяет, задано ли поле страны, используя функцию isset .

Просто измените:

 $country = $_GET['country']; 

К этому:

 $country = @$_GET['country']; 

«@» – это оператор, который будет удалять ошибки.