2017-01-03 95 views
0

我在错误日志中有这样的错误错误:PHP公告:未定义指数

mod_fcgid:标准错误:PHP公告:未定义指数:网址在/var/www/vhosts/mysite.it/httpdocs/wp-content/主题/ colormag-pro/js/sharrre/sharrre.php上线

4行受影响。

它们对我的网站有危险吗?我该如何修正它们?

更新:在sharre.php前4行此代码得到错误

$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'] with if(isset($ _GET ['url']))$ json ['url'] = $ _GET ['url']; –

+1

非常感谢!所以我只需要编辑该代码的第一行?我是否应该保留其他行,即使错误报告了4行? – willsmith7

1

不错,讨厌。 '通知'是PHP可以继续执行的事情,但可能会导致其他事件中断,但同时可能不会导致任何事情中断。许多时间'通知'可以忽略,并且通常在生产环境中关闭。

我个人不希望在代码中看到'Notices',但那只是我。

无论是$ json ['url'],$ _GET ['url']还是两者都没有设置,请检查两个并查看哪个未设置,从那里您将能够追溯到什么是应该设置变量并修复它。

使用isset()检查是否在粘贴的代码的第一行之前设置每个代码,以检查是否没有实际设置。

+0

非常感谢,但我不是PHP的专家,所以,你可以告诉我我应该编辑的确切代码来修复错误吗? – willsmith7

+0

没有看到你的整个代码库,我不能告诉你错误发生的地方,但是你可以用if语句if围绕包含$ json ['url']和$ _GET ['url']的代码来阻止消息if (isset($ json ['url'])&& isset($ _ GET ['url']))...'但最终可能会破坏更多,所以请自担风险。 – Chris