我已经将一个用php4编写的10年历史的自制论坛迁移到运行php5的新的共享主机服务器上。我发现了3个错误,如果专家能帮我解决,我将永远感激不尽。它们如下:
1)注意:未定义索引:第268行/usr/local/pem/vhosts/144229/webspace/httpdocs/banner.php中的HTTP_CLIENT_IP
2)注意:未定义索引:第269行/usr/local/pem/vhosts/144229/webspace/httpdocs/banner.php中的HTTP_X_FORWARDED_FOR
该部分如下:
// Patched function to detect REAL IP address ifit's valid
function getip(){
global $HTTP_SERVER_VARS;
if(validip($HTTP_SERVER_VARS['HTTP_CLIENT_IP'])) return $HTTP_SERVER_VARS['HTTP_CLIENT_IP'];
elseif($HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']!=""){
$forwarded=str_replace(",","",$HTTP_SERVER_VARS['HTTP_X_FORWARDED_FOR']);
$forwarded_array=split(" ",$forwarded);
foreach($forwarded_array as $value) if(validip($value)) return $value;
}
return $HTTP_SERVER_VARS['REMOTE_ADDR'];
}
第三个错误是:致命错误:在第301行的/usr/local/pem/vhosts/144229/webspace/httpdocs/banner.php中调用未定义的函数sqlerr()
该部分内容如下:
function userlogin(){
global $HTTP_SERVER_VARS,$SITE_ONLINE;
unset($GLOBALS["CURUSER"]);
$ip=getip();
$nip=ip2long($ip);
$res=mysql_query("SELECT * FROM bans WHERE $nip >= first AND $nip <= last") or sqlerr(__FILE__,__LINE__);
if(mysql_num_rows($res) > 0){
header("HTTP/1.0 403 Forbidden");
print("<html><body><h1>403 Forbidden</h1>Unauthorized IP address.</body></html>\n");
die;
}
我在PHP中完全不称职,但我从我的Sysop继承了这个问题,他正在与癌症抗争,我没有其他人可以求助。
如何解决这些错误的想法和想法?谢谢你们 !!!