2017-01-03 3 views
0

у меня есть это ошибки в журнале ошибокОшибки: PHP Notice: Undefined индекс

mod_fcgid: STDERR: PHP Примечание: Undefined индекс: адрес в /var/www/vhosts/mysite.it/httpdocs/wp-content/ темы/colormag-pro/js/sharrre/sharrre.php on line

4 линии затронуты.

Опасные ли они для моего сайта? Как я могу их исправить точно?

UPDATE: Первая 4 строки этого кода в sharre.php получить ошибки

$json['url'] = $_GET['url']; 
    $url = urlencode($_GET['url']); 
    $type = urlencode($_GET['type']); 

    if(filter_var($_GET['url'], FILTER_VALIDATE_URL)){ 
    if($type == 'googlePlus'){ //source http://www.helmutgranda.com/2011/11/01/get-a-url-google-count-via-php/ 
     $contents = parse('https://plusone.google.com/u/0/_/+1/fastbutton?url=' . $url . '&count=true'); 
+0

Обычно это означает, что PHP не смог получить доступ к элементу в индексе массива, который на самом деле еще не определен. Попытайтесь посмотреть номера строк в файлах sharrre.php, чтобы узнать, к каким переменным доступны переменные. – igraczech

+0

Извините. Просто добавлены строки кода, которые дают ошибки. Знаете ли вы, какое редактирование я должен сделать, чтобы исправить эти ошибки? – willsmith7

+0

Пожалуйста, верните свои метки и названия! –

ответ

0

Это не опасно для вашего сайта такового. Переменная (ы) в GET не задана (переменные $ _GET ['url'] не установлены). Если вы планируете использовать его позже в своем PHP-скрипте, вы должны установить их раньше, на предыдущей странице. Итак, есть две страницы: первая и ваша страница PHP - вторая.

+1

Спасибо за ответ, но я очень невежественный @PHP. Можете ли вы сказать мне точный код, который я должен отредактировать, чтобы исправить? – willsmith7

+0

Заменить $ json ['url'] = $ _ GET ['url'] с if (isset ($ _ GET ['url'])) $ json ['url'] = $ _GET ['url']; –

+1

Большое спасибо! Так что мне просто нужно отредактировать первую строку этого кода? Должен ли я держать другие строки так, как они есть, даже если ошибка сообщается для 4 строк? – willsmith7

1

Не так уж плохо, раздражает. «Уведомление» - это то, что PHP может продолжать, но может привести к тому, что что-то еще сломается, но одна и та же рука не может вообще ничего сломать. Много времени «Уведомления» можно игнорировать и обычно отключать в производственных средах.

Лично я ненавижу видеть «заметки» в своем коде, но это только я.

Либо $ json ['url'], $ _GET ['url'], либо оба не установлены, поэтому проверьте оба и посмотрите, какой из них не установлен, оттуда вы сможете отследить, что предполагается установить переменную и исправить ее.

Используйте isset(), чтобы проверить, установлен ли каждый из них перед первой строкой кода, который вы вставили, чтобы проверить, действительно ли он установлен.

+0

Большое спасибо, но я не специалист по PHP, поэтому, можете ли вы сказать мне точный код, который я должен отредактировать, чтобы исправить ошибку? – willsmith7

+0

Не видя всей вашей базы кода, я не мог сказать вам, где произошла ошибка. Однако вы можете остановить сообщение, окружив код, содержащий $ json ['url'] и $ _GET ['url'] с помощью оператора if if (isset ($ json ['url']) && isset ($ _ GET ['url'])) ... ', но это может закончиться тем, что вы больше рискуете. – Chris

Смежные вопросы