我正在尝试创建学生出勤系统,当我尝试将信息存储到数据库时,我收到有关出勤状态的各种错误。我知道这对所有人来说都不是一个典型的问题,但它会对PHP的初学者有所帮助。
<form action="tutor_attendance.php" method="post">
<table class="table table-striped">
<tr>
<th>Student ID</th> <th>Module Name</th> <th>Attendance Status </th>
</tr>
<?php $result=mysqli_query($conn, "SELECT * FROM student");
// $serialnumber=0;
$counter=0;
while($row=mysqli_fetch_array($result))
{
?>
<tr>
<td> <?php echo $row['stud_id']; ?> </td>
<input type="hidden" value="<?php echo $row['stud_id']; ?>" name="stud_id[]" >
<td> <?php echo $row['module_1']; ?> </td>
<input type="hidden" value="<?php echo $row['module_1']; ?>" name="module_1[]">
<td>
<input type="radio" name="attendance_status[<?php echo $counter; ?>]" value="Present">Present
<input type="radio" name="attendance_status[<?php echo $counter; ?>]" value="Absent">Absent
<input type="radio" name="attendance_status[<?php echo $counter; ?>]" value="Late">Late
</td>
</tr>
<?php
$counter++;
}
?>
</table>
<input type="submit" name="submit" class="btn btn-primary " value="submit" >
</form>
上面的代码是我用来从数据库显示数据然后用单选按钮捕获他们的出席情况的表格。
if(isset($_POST['submit']))
{
foreach($_POST['attendance_status'] as $id->$attendance_status)
{
$stud_id=$_POST['stud_id'][$id];
$module_1=$_POST['module_name'][$id];
$date=date("Y-m-d H:i:s");
mysqli_query($conn, "INSERT into attedance('stud_id, module_name, attendance_status, date) VALUES('$stud_id', '$module_1','$attendance_status','$date')");
}
}
然后,上面的代码是按下提交按钮后的代码。我得到的错误是:未定义的变量:attendance_status和从空值创建默认对象。任何帮助,将不胜感激。错误发生在第8行 - foreach($ _ POST [&#39; attendance_status&#39;]为$ id-&gt; $ attendance_status)
答案 0 :(得分:0)
我看到了一些不同的问题,但是你得到的错误是由于foreach语法不正确,应该是key => value
而不是key->value
foreach($_POST['attendance_status'] as $id => $attendance_status) {
}
SQL中的错误引用不会导致此错误,但肯定是另一个错误。见这一行:
"INSERT into attedance('stud_id, module_name, ...
您是否真的错误地输入了您的餐桌名称?我的猜测应该是:
"INSERT into attendance(stud_id, module_name, ...