使用复选框将数据插入数据库


Insert data using checkbox into database

我似乎无法将数据插入我的mysql数据库,你能告诉我我的代码出了什么问题吗?

<?
  include("header.php");
  $checkbox1 = $_POST['Cleared'];
  if($_POST['Submit']{
    foreach($_POST['checkbox1'] as $checkbox1)
      $query="INSERT INTO students (Library) VALUES ('$checkbox1')";
      mysql_query($query) or die (mysql_error());
    }
    echo "Record is inserted";
  }
?>

这是复选框

$output .= '<form action = "librarysubmit.php" method="post">'.'<tr>'.'<td>'.$fname.' '.$lname.'
                <input type="checkbox" name="Cleared[]" value="1" style="position:absolute; right: 1000px;">
                '.'<input type="checkbox" name="NotCleared" value="0" style="position:absolute; right: 800px;">
                '.'</tr>'.'</td>'.'</form>';

您的if语句是错误的。

丢失;并添加结束的):

if($_POST['Submit']){
  ...

确保您的提交表单按钮也有name='Submit'

您也有$_POST['checkbox1'] as $checbox1,但稍后用k引用checkbox1

您的表单也需要这个:

<input type='submit' name='Submit'>

如果您希望$_POST['Submit']工作。

中也有一个拼写错误

foreach($_POST["checkbox1"] as $checbox1)

没有$checbox。

<?
  include("header.php");  
  if(isset($_POST['submit'])) {
    $checkbox = $_POST['cleared'];
    foreach($checkbox as $checked) {
      $query="INSERT INTO students (Library) VALUES ('$checked')";
      mysql_query($query) or die (mysql_error());
    }
    echo "Record is inserted";
  }
?>

但我建议使用mysql_query来代替mysqli或PDO。

此外,我从来不会在HTML中的名字或类型中使用大写字母。

您没有像$_POST['checkbox1']这样的变量,因为您的html中没有checkbox1命名的复选框,而且如果一个复选框没有被选中,那么它的POST变量将不存在。我假设您有超过1个名为"Cleared[]"的复选框,并且它们的值不同。。。否则代码中就没有逻辑。试试这个

<?
  include("header.php");
  $checkbox1 = $_POST['Cleared'];
  if( isset($_POST['Cleared']) ) {
    foreach($checkbox1 as $checbox1)
      $query="INSERT INTO students (Library) VALUES ('$checbox1')";
      mysql_query($query,) or die (mysql_error());
    }
    echo "Record is inserted";
  }
?>

试试这个。。

<?
include("header.php");
$checkbox1 = $_POST['Cleared'];
if($_POST['Submit']; {
 foreach($_POST["checkbox1"] as $checbox1)
  $query="INSERT INTO 'students' ('Library') VALUES ('$checkbox1')";
  mysql_query($query); or die (mysql_error());
 }
 echo "Record is inserted";
} 
?>