0

我有一个用 php 生成的表单

下面是我的 account.php $student_id 是由会话设置的,我正在查找与该 student_id 关联的所有文件名。我使用 php 生成了一个 HTML 表单,其中该学生的每个文件名都以复选框格式显示,每个复选框下方都有一个描述输入。

<?php 
$find = mysql_query("SELECT file_name FROM chemlab_files WHERE student_id = 
'$student_id'") or die  ("Could not search!");
while($row = mysql_fetch_array($find)){
$file_name = $row['file_name'];
$_SESSION['file_name'] = $file_name;
echo "<label class='checkbox'><input type='checkbox' name='file_name[]'    
value='{$file_name}'>$file_name</label><br><input type='text' name='description[]'    
value='' placeholder='description'>";
}
?>

这现在是 handler.php 的一部分我在插入时遇到问题,但它为未选中的复选框插入空白

if(is_array($_POST['description'])){
foreach(str_replace('#', '', $_POST['description']) as $strip){ 
                $description_backslash = $strip . '/';
                $description = mysql_real_escape_string($strip);
                $query = "INSERT INTO file_list(description) VALUE ('$description')";
                $q= mysql_query($query) or die ('Error posting data');
                //print_r($description);
                //print '<br>';
            }
4

1 回答 1

0

未选中的复选框不会发送到服务器,因此如果未选中所有复选框,则复选框索引和file_name输入之间将不匹配。

为了避免这个问题,您必须在表单字段中添加索引,以便您知道什么description属于什么file_name,并能够遍历description's 并丢弃未设置的那些。

于 2013-02-28T01:32:17.840 回答