所以我有一个可以根据用户添加到页面的内容来增加和减少的表单。为了能够处理未知的帖子,我设置了一系列foreach循环,遍历表格中的每个部分,并为每个部分解开数组。
表单是一系列表格。每个表都是一个类别,每一行都是它的不同部分。每行有7个部分。该脚本遍历并获取将每个列片插入数据库所需的部分。
在我的个人家庭服务器上,代码不会返回任何错误并相应地更新数据库。在我付费的主机上虽然我收到了错误。错误发生在第一次foreach之后。它出现在:
foreach($tablecontent as $key => $values)
这是错误: 警告:在第14行的/home/sariep5/public_html/werchris.com/circuitcheck/submit.php中为foreach()提供的参数无效
我的代码如下:
<td><input type="text" maxlength="3" name="esd[8][eng]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][q2]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][loa]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][wire]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][verify]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][assy]" value=""></td>
<td><input type="text" maxlength="3" name="esd[8][q4]" value=""></td>
这是表单的HTML部分。像这样的部分仅使用名称的不同部分创建。所以esd可以是任何其他类别,8个增量,而其他7个在每个部分都是相同的。
foreach ($_POST as $table => $tablecontent) {
foreach($tablecontent as $key => $values) {
foreach($values as $row => $value) {
$value = strip_tags(htmlspecialchars($value));
$row = strip_tags(htmlspecialchars($row));
$key = strip_tags(htmlspecialchars($key));
mysql_query("UPDATE tablecontent SET ".$row." = '$value'
WHERE id='$key'");
}
}
}
谢谢!
答案 0 :(得分:0)
这是简单的foreach($tablecontent as $key => $values)
错误,表示$tablecontent
不是数组
警告:在第14行的/home/sariep5/public_html/werchris.com/circuitcheck/submit.php中为foreach()提供的参数无效
尝试var_dump($tablecontent);
那里