У меня есть форма, в которой есть 40 вопросов с переключателем. В цифре 1 это написано так:
HTML
<input type = "radio" name = "j1" value = "A">A. Answer 1<br>
<input type = "radio" name = "j1" value = "B">B. Answer 2<br>
<input type = "radio" name = "j1" value = "C">C. Answer 3<br>
Номер 2 - j2, номер 3 - j3 и т. д.
После этого он будет отправлен в базу данных
PHP
if (isset($_POST["submit"])){
for($i=1;$i<=40;$i++){
${"j".$i}=(htmlentities(strip_tags(trim($_POST["j{$i}"]))));
if (empty(${"j".$i})){
${"j".$i} = "X";
}
}
$query = "UPDATE answer SET ";
for($i=1;$i<=40;$i++){
$query. = "j{$i}=${"j".$i}, ";
}
$query. = "datesubmit='$datesubmit' WHERE email='$email'";
$result=mysqli_query($link,$query);
if ($result){
header("Location: index.php");
}
else{
die("Query error, code : " .mysqli_errno($link). " - " .mysqli_error($link));
}
}
Выдает ошибку:
Undefined index: j3
(если число 3 пусто), хотя я назначил «X» для пустого ответа
Query error, code : 1054 - Unknown column 'A' in 'field list'
Любая идея?
Сначала добавьте в цикл: if (empty ($ _ POST ["j {$ i}"])) {$ {"j". $ I} = "X"; Продолжать; }






вы пробовали проверять параметры перед зацикливанием? и я думаю, что неотвеченные вопросы должны иметь значение по умолчанию, чтобы не возникала ошибка неопределенного индекса