已掉线,重新登录

首页 > 绿虎论坛 > 建站

标题: 这个怎么解决

作者: @Ta

时间: 2012-02-19

点击: 2288

Warning : array_merge() [ function.array-merge ]: Argument#1 is not an array in /home/www/cwcity/hosting/j/2/3333/htdocs/wap/include/check.php on line 36
Warning : Invalid argument suppliedfor foreach() in /home/www/cwcity/hosting/j/2/3333/htdocs/wap/include/check.php on line 47
check.php是这样
<?php
//要过滤的非法字符
$ArrFiltrate=array("and","update","insert","delete","from","asc","drop","mid","%","like","or");
$arr_str=array(
'and' => 'a-nd',
'update'=>'up-date',
'insert'=>'in-sert',
'delete'=>'de-lete',
'from' => 'fr-om',
'asc' => 'asc-',
'drop' => 'dr-op',
'mid' => 'm-id',
'%' => '百分号',
'like' => 'li-ke',
'or' => 'o-r'
);
//出错后要跳转的url,不填则默认前一页
$StrGoUrl="xinwe.cn";
//是否存在数组中的值
function FunStringExist($StrFiltrate,$ArrFiltrate){
foreach ($ArrFiltrate as$key=>$value){
if (eregi($value,$StrFiltrate)){
return true;
}
}
return false;
}
//合并$_POST 和 $_GET
if(function_exists(array_merge)){
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
}else{
foreach($HTTP_POST_VARS as$key=>$value){
$ArrPostAndGet[]=$value;
}
foreach($HTTP_GET_VARS as$key=>$value){
$ArrPostAndGet[]=$value;
}
}
//验证开始
foreach($ArrPostAndGet as$key=>$value){
if (FunStringExist($value,$ArrFiltrate)){
/* //----替换
foreach($HTTP_POST_VARS as$keypost=>$valuepost){
foreach($arr_str as$key1=>$value1){
$_POST[$keypost]=str_ireplace('$key1','$value1',$HTTP_POST_VARS[$keypost]);
echo $key1;
echo" $value1
";
}
}
foreach($HTTP_GET_VARS as$keyget=>$valueget){
foreach($arr_str as$key1=>$value1){
$_GET[$keyget]=str_ireplace('$key1','$value1',$HTTP_GET_VARS[$keyget]);
echo"$_GET[$keyget] . ";
echo $key1;
echo" $value1
";
}
}
*/
echo "<p>请不要尝试黑本站谢谢!
<a href='http://leguu.cn'>http://leguu.cn</a></p>";
if (empty($StrGoUrl)){
echo "错误</p>";
}else{
echo $StrGoUrl;
}
exit;
}
}
?>这应该怎么改

[隐藏样式|查看源码]


『回复列表(5|隐藏机器人聊天)』

1. 传入的参数不是数组,建议初始化:
$ar=$arr=$arrr=array();
(/@Ta/2012-02-19 09:37//)

2. $HTTP_POST/GET_VARS已废弃,此句
$ArrPostAndGet=array_merge($HTTP_POST_VARS,$HTTP_GET_VARS);
可改为:
$ArrPostAndGet=array_merge($_POST,$_GET);
或者
$ArrPostAndGet=$_REQUEST;
(/@Ta/2012-02-19 15:16//)

3. 改成$ArrPostAndGet=$_GET+$_POST
(/@Ta/2012-02-19 15:31//)

4. 另外,你应该可以使用error_reporting(E_ALL&~E_NOTICE&~E_WARNING);来屏弊错误提示。Notice和Warning级的错误并不影响程序正常运行。
(/@Ta/2012-02-19 15:35//)

5. 多谢
(/@Ta/2012-02-19 15:40//)

回复需要登录

10月12日 15:32 星期天

本站由hu60wap6驱动

备案号: 京ICP备18041936号-1