Итак, у меня есть форма, которая может увеличиваться и уменьшаться в зависимости от того, что пользователь добавляет на страницу. Чтобы иметь возможность обрабатывать неизвестные сообщения, я настроил серию циклов foreach, которые проходят через каждый раздел таблицы и распределяют массив для каждого.
Форма представляет собой серию таблиц. Каждая таблица относится к одной категории, и каждая строка является отдельной ее частью. Каждый ряд состоит из 7 частей. Скрипт проходит по кругу и получает детали, необходимые для вставки каждого фрагмента столбца в базу данных.
На моем личном домашнем сервере код не возвращает ошибок и соответственно обновляет базу данных. На моем платном хостинге я получаю сообщение об ошибке. Ошибка появляется после первого foreach. Это входит в:
foreach($tablecontent as $key => $values)
Это ошибка:
Предупреждение: неверный аргумент указан для foreach () в /home/sariep5/public_html/werchris.com/circuitcheck/submit.php в строке 14
Мой код ниже:
<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'");
}
}
}
Спасибо!