0

present という変数があり、チェックボックスもあります。チェックボックスがチェックされている場合、誰かがフォームを送信すると、$present変数の値が 1 に変更されるようにする必要があります。現在、ボックスが変更した場合、チェック済み

if(isset($_POST['stud_attendance']))

if(!isset($_POST['stud_attendance']))

else は$present変数を 1 に設定するため、機能しますが、何らかの理由で、チェックボックスがオンになっていることをコードが認識していません。

以下は私のコードです:

$present = 1;

while($row = mysqli_fetch_row($result)) {

    echo "<tr>";

    echo "<td>".$row[0]."</td>";

    echo "<td>";

    echo $row[6];

    ?>

 //below is the code****************************************************

    <input type="checkbox" name="stud_attendance" value="0">

    <?php

    if(isset($_POST['stud_attendance']))
{
$present = 1;
}
else
{

 $present = 0;

}

// above is the code ******************************

    echo $present;
// above is just to check the value of the variable
    echo "</td>";

    echo "<td>".$row[2]."</td>";

    echo "<td>".$row[3]."</td>";

    echo "<td>".$row[4]."</td>";

    echo "<td>".$row[5]."</td>";

    echo "<td>".$row[1]."</td>";

    echo "</tr>";

}

echo "</table>";
4

3 に答える 3

0

コード スニペットに <form> タグがありません。method="post" があることを確認してください。そうしないと、get リクエストがデフォルトになります。$_POST から $_GET または $_REQUEST に切り替えることもできます。そうでない場合は、コードをさらに投稿すると役立ちます。

于 2013-05-19T17:21:24.617 に答える
0

まず、post 配列の内容を確認できます。

print_r($_POST);

チェックボックスがオンになっている場合、次のように表示されます。

...
[stud_attendance] => on
...

そうしないと、$_POST 配列に存在しません。

于 2013-05-19T17:09:40.297 に答える