使用数月后,我的申请表突然停止,出现此错误:
Warning: strip_tags() expects parameter 1 to be string, array given in /home/useraccount/public_html/My_Application.php on line 9
第9行开始cookie,但即使我删除它似乎与strip_tags
行相关。为什么会突然停止工作?
这已经有好几个月没有问题了。服务器是5.3
,我看到升级到5.3.26
。这种改变实际上是否导致了这种情况?
if ($_POST)
{
session_set_cookie_params(0);
session_start();
$post = new stdClass;
foreach ($_POST as $key => $val)
$post->{$key} = trim(strip_tags($_POST[$key]));
$post->accident_type =$_POST['accident_type'];
$_SESSION['post']=$post;
}
more code continued...
非常感谢任何帮助。
答案 0 :(得分:2)
嗯,显而易见的是 - 你的$_POST[$key]
数组而不是字符串。因此,您需要决定在应用程序的逻辑方面做些什么。我可以建议:
if(is_scalar($_POST['$key']))
{
//treat any scalar value as string and do stuff:
$post->{$key} = trim(strip_tags($_POST[$key]));
}
else
{
//here you need to decide what to do with such things as arrays
}