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

您可以在提交输入中使用 javascript,如下所示:

onclick="if(this.value=='0') this.value='1'"

但是那个输入应该被一个表格包围。

于 2013-05-19T16:12:52.063 回答
0

首先,您可以检查 post 数组中的内容:

print_r($_POST);

如果选中复选框,则应显示为:

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

否则它不会出现在 $_POST 数组中。

于 2013-05-19T17:09:40.297 回答
0

我在您的代码片段中没有看到您的 <form> 标记。确保您有 method="post" 否则它将默认为获取请求。您也可以从 $_POST 切换到 $_GET 或 $_REQUEST。如果不是这样,那将有助于发布更多代码。

于 2013-05-19T17:21:24.617 回答