如何通过表单 (php) 将复选框数据和文本添加到数据库


How to add checkbox data and text to database by form (php)?

我有一个数据库,里面有3个。第一个表被命名为"periorismoi"和"programmata"。第一个有2个列("Auxon","标题"),第二个有3个("Auxon","名称","Periorismoi")。我制作了一个带有添加新"程序"形式的页面。在"名称"列中,将从表单中添加文本,在"Periorismoi"列中,将从复选框(来自同一表单)中添加名称。 复选框名称将派生自表"periorismoi"。我为您提供表单的页面,然后插入到数据库(操作)页面。 它不起作用。也许是服务器错误?在我把复选框放在表单中之前,它曾经工作过。请注意,Periorismoi与periorismoi不同。

   <form action='Insert.php' method="post" enctype='multipart/form-data' periorismoi="periorismoi">
   <textarea name="title" placeholder="Πρόγραμμα" rows='"1'" cols='"50'"></textarea>
<?php
$link = mysql_connect('localhost', 'student1905','123456');
mysql_select_db('student1905');
$q="select * FROM periorismoi";
$result=mysql_query($q);
$counts=mysql_num_rows($result);
for ( $i = 0; $i < $counts; ++$i ) {
$row = mysql_fetch_array( $result );
    if(isset($row[ "Title" ]))
   {$Title= $row[ "Title" ];
     }
    ?> 
<input type="checkbox" name="<?php echo "periorismoi$i"; ?>" value=""<?php echo $row['Title']; ?>""><?php echo "$Title";?>      <br>      
<?php
}
?>

插入.php页:

<?php
$link = mysql_connect('localhost', 'student1905','123456');
mysql_select_db('student1905');
$title= trim($_POST["title"]);
if(!$link) 
{
   die('Could not connect: ' . mysql_error());
}
else {
    if(strlen($title) == 0) 
    {
        header("Location:Index.php"); 
    }
    else
    {
     mysql_query("SET NAMES utf8");
      $periorismoi = implode(',', $_POST['periorismoi']);
    $len = sizeof($periorismoi);
    for($i=0; $i<$len;$i++){ 
        $sql="INSERT INTO programmata (Auxon,Title,Periorismoi) VALUES ('','$title','$periorismoi')";
                 mysql_query($sql);
    }
      header("Location:Index.php"); ; 
    }
}
?>

在表单中,您可以创建多个具有不同名称属性的复选框:

(periorismoi0, periorismoi1, ...)

然后,当您读取参数时,您正在尝试读取不存在的$_POST['periorismoi']。您应该阅读每个复选框($_POST['periorismoi0'], $_POST['periorismoi1'], ...(我强烈建议不这样做),或者您应该定义多个具有相同名称的复选框。

检查此线程:从多个复选框中获取 _POST 美元