首先,
ecshop中Notice: Undefined index这个不是错误,是warning。很多php开发的网站都可能报这个错,报这个错的根本原因是变量未定就使用变量,解决的办法就是先定义再使用,这样可以增加安全性,也可以通过服务器和php代码来蔽这类误,如果服务器不能改,每个变量使用前应当先定义。
方法1:ecshop服务器配置修改
修改php.ini配置文件,error_reporting = E_ALL & ~E_NOTICE
方法2:对变量使用前进行初始化,是否初始化可以通过isset()来判断。例如:
Notice: Undefined index: SERVER_ADDR in D:\hosting\html\admin\index.php on line 413
根扰提示打开admin\index.php,找到 413的代码:
$sys_info['ip'] = $_SERVER['SERVER_ADDR'];
改成
$sys_info['ip'] = isset($_SERVER['SERVER_ADDR'])?$_SERVER['SERVER_ADDR']:'';
其它的类似的按这种方法去处理。
方法3:把includes/init.php和admin/includes/init.php里的
@ini_set('display_errors', 1);
改成
@ini_set('display_errors', 0);
方法3:每个文件头部加上:error_reporting(0); 如果不行,只有打开php.ini,找到display_errors,设置为display_errors = Off。以后任何错误都不会提示。
方法4 :做判断:isset($_GET["page"]) if-else判断
或者加上''@''表示这行如果有错误或是警告不要輸出
如:@$page=$_GET["page"];
以上方法可以邦助你消除部分ecshop页面显示:
Notice: Undefined index:...
如还无法解决您的问题,您可以留言或联系我帮你解决