question3という名前の入力配列から情報を収集するフォームがあり、それをプロセスphpページに投稿すると、データベースのコメントフィールドに何も書き込まれませんOR爆発関数に応じて、すべてのコメントフィールドに「配列」を書き込みます.
アドバイスをいただければ幸いです。
コードは次のとおりです。
foreach ($_POST['question3'] as $key3 => $ans3) {
$write = (explode(" ",$_POST['question3']));
echo "</BR>";
mysql_query("UPDATE trn SET comments = '$write' WHERE id = '$key3'");
if (mysql_affected_rows() == 1) {
$sql1 = "SELECT * FROM trn WHERE id = '$key3'";
$res1 = mysql_query($sql1);
while ($row1 = mysql_fetch_assoc($res1)) {
$userid = $row1['usr_id'];
$certificate_name = $row1['certificate_name'];
$comment = $row1['comments'];
} //$row1 = mysql_fetch_assoc($res1)
if ($comment == NULL) {
echo "Successfully updated <font color=blue>$certificate_name</font> to comments = <font color=green>y</font>";
} else {
$sql2 = "SELECT * FROM ex_usrs WHERE id = '$userid'";
$res2 = mysql_query($sql2);
while ($row2 = mysql_fetch_assoc($res2)) {
$fn = $row2['firstname'];
$ln = $row2['lastname'];
} //$row2 = mysql_fetch_assoc($res2)
echo "Successfully updated <font color=blue>$fn $ln</font> to comments = <font color=green>y</font>";
}
} //mysql_affected_rows() == 1
} //$_POST['question'] as $key => $ans
これは、var_dump から表示されるものです。
array(4) {
[743]=> array(1) {
[0]=> string(5) "Mercy"
}
[748]=> array(1) {
[0]=> string(6) "Anelie"
}
[749]=> array(1) {
[0]=> string(6) "Bealah"
}
[750]=> array(1) {
[0]=> string(4) "Theo"
}
}
これらの値は、投稿する前のフォーム ページから取得されます。外部リンクがないイントラサイトなので、ハッキングの心配もありません。
これは、入力しようとしているフォームのセクションです。
$sql7 = "SELECT * FROM trn WHERE course_id = '$sel_course_id' AND date_1 = '$sel_date_1' and date_2 = '$sel_date_2'";
$res6 = mysql_query($sql7);
while ($row6 = mysql_fetch_assoc($res6)) {
$rowid6 = $row6['id'];
$uid5 = $row6['usr_id'];
$certificate_name5 = $row6['certificate_name'];
$certificate_issued5 = $row6['certificate_issued'];
$comm7 = $row6['comments'];
if ($uid5 == 'x') {
echo "<tr>";
echo "<td>";
$checked7 = "";
if ($comm7 == '') {
$checked7 = "$comm7";
} else {
$checked7 = "$comm7";
}
echo "<input name='question3[$rowid6][]' type='text' style='width: 675px; height: 30px;' type='text' maxlength='160' $checked7 value='$comm7' />$certificate_name5" . " - Not registered on users table";
echo "</td>";
} else {
$sql8 = "SELECT * FROM ex_usrs WHERE id = '$uid5'";
$res7 = mysql_query($sql8);
while ($row7 = mysql_fetch_assoc($res7)) {
$fn6 = $row7['firstname'];
$ln6 = $row7['lastname'];
$com7 = $row7['comments'];
}
$checked8 = "$comm7";
if ($comm7 == '') {
$checked8 = "$comm7";
} else {
$checked8 = "$comm7";
}
echo " <tr>";
echo " <td>";
echo "<input name='question3[$rowid6][]' type='text' style='width: 675px; height: 30px;' type='text' maxlength='160' $checked8 value='$comm7'/>$fn6 $ln6";
echo "</td>";
}
}
echo " </tr>";
echo " </table>";
echo " </td>";
echo " </tr>";
echo " <tr>";
echo " <td> </td>";
echo " <td><input name='Submit1' type='submit' value='submit'></td>";
echo " </tr>";
echo " </table>";
echo "</form>";