我使用的是phpInv
在http://alex.piechowski.org/inventory。登录= admin/phpinv
我一直得到"PHP警告:变量传递给each()不是一个数组或对象"
在第38行
if ($itemid>0) {
--> while (list ($colid, $property) = each ($col)) { <--
$result = $DB->query("INSERT INTO ".$DB->tableprefix."property (itemid,colid,property) VALUES ('".str_prepare($itemid)."','".str_prepare($colid)."','".str_prepare($property)."')");
if (!$result) {
$errortext = "Error: property not createdn";
eval("$table = "".templateget('error')."";");
}
}
有人愿意开D/L并帮我吗?我已经在这上面花了好几个小时了,但我似乎还是不能让它工作……
如果您尝试使用未初始化的变量,则会得到相同的警告
首先确保您尝试传递的变量($col)存在并且不为空。您还应该确保没有拼错变量名。
您应该尝试使用function is_array($col)来确保传递的变量确实是一个数组。
我最近也有同样的问题。
我从一段时间前下载了一些源代码,它最终成为我的浏览器。
我的浏览器在输入所有的输入之前自动关闭了表单。
如果你使用的是chrome浏览器,试着切换到ie浏览器。
如果更改浏览器不起作用,请确保您甚至可以获得您需要发布的数据。
您可以使用:
检查所有已发布的值:if ($_POST) {
echo '<pre>';
echo htmlspecialchars(print_r($_POST, true));
echo '</pre>';
}