チェックボックス入力の特定の配列に問題があります。
$insert .= '<tr>
<td>' .$uname. '</td>
<td>' .$fname. '</td>
<td>' .$lname. '</td>
<td>' .$email. '</td>
<td>'.(($admin == 'y') ? 'Admin':'User').'</td>
<td><input type="checkbox" name="change['.$uid.']"
value="'.(($admin == 'y')?'n':'y').'"/>'
.(($admin == 'y')?'Make a user':'Make an admin user').'</tr>';
私が読んだことから、これは、複数のチェックボックスがある場合に実行できる配列を作成する必要があります。$uid は でuser id
あり、名前は change[1]、change[2] などとして表示され、これは機能します。
問題は、次のように while ステートメントを使用してこれを実行するときです。
while(list($key, $val) = each($_POST['change'])) {
次のメッセージが表示されます。
Warning: Variable passed to each() is not an array or object
なぜこれが起こっているのか、それを解決する方法を知っている人はいますか?