首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在数据库中存储多个复选框数据

如何在数据库中存储多个复选框数据
EN

Stack Overflow用户
提问于 2019-05-18 14:03:43
回答 1查看 61关注 0票数 0

我正在尝试在我的数据库中插入多个复选框数据,但有一点问题。当我尝试插入复选框数据时,它只插入id,而不插入其他任何内容。这是我的完整代码:

代码语言:javascript
复制
<?php 
include("config.php");

if(isset($_POST['save'])){

  $contact_sms = $_POST['contact_sms'];  
  $check[] = $_POST['check'];
  $firm_name = $_POST['firm_name'];
  var_dump($firm_name);
  $checkbox = $_POST['check'];

  for($i=0;$i<count($checkbox);$i++){
    $bulksms="INSERT INTO bulk_sms (sent_sms,firmname_sms,contact_sms) VALUES('".$checkbox[$i]. "','".$row['firm_name']. "','$contact_sms')";
    $smsquery=mysqli_query($conn, $bulksms);
  }
}

$sql="SELECT * FROM inventory_details where status ='0' AND role='0' ORDER BY position ASC, role ASC, visiter DESC limit 0,100";  
$query=mysqli_query($conn, $sql);


?>

    <form method="post" action="" id="msform">   
      <?php
        $i=0;
        while($row=mysqli_fetch_assoc($query)){
        $id = $row['id'];
        $firm_name = $row['firm_name'];
      ?>  

        <div class="col-md-4">
          <input type="text" class="form-control" name="id_sms" value="<?php echo $id;?>">
        </div>
        <div class="col-md-6">
          <input type="text" class="form-control" name="firm_name[]" value="<?php echo $firm_name;?>">
        </div>
        <div class="col-md-2">
          <input type="checkbox" id="checkItem" name="check[]" value="<?php echo "$id"; ?>">
        </div>

      <?php
        $i++;
        }
      ?>

      <input type="text" class="form-control" name="contact_sms" placeholder="Contact Number.."> 
      <button type="submit" class="btn btn-success" name="save">Send</button>
    </form>

当我单击Send按钮时,它只将id存储在字段sent_sms中,而不存储在字段firm_name中。请帮帮我。我被困在里面的感觉很糟糕。

更新代码:

代码语言:javascript
复制
if(isset($_POST['save'])){

  $contact_sms = $_POST['contact_sms'];  
  $check[] = $_POST['check'];
  $firm_name = $_POST['firm_name'];
  var_dump($_POST);
  $checkbox = $_POST['check'];

  for($i=0;$i<count($checkbox);$i++){
    $bulksms="INSERT INTO bulk_sms (sent_sms,firmname_sms,contact_sms) VALUES('".$checkbox[$i]. "','".$firm_name[$i]. "','$contact_sms')";
    $smsquery=mysqli_query($conn, $bulksms);
  }
}
EN

回答 1

Stack Overflow用户

发布于 2019-05-19 02:24:30

我认为$row['firm_name']没有定义,试着更改这一行:

代码语言:javascript
复制
$bulksms="INSERT INTO bulk_sms (sent_sms,firmname_sms,contact_sms) VALUES('".$checkbox[$i]. "','".$row['firm_name']. "','$contact_sms')";

要这样做:

代码语言:javascript
复制
$bulksms="INSERT INTO bulk_sms (sent_sms,firmname_sms,contact_sms) VALUES('".$checkbox[$i]. "','".$firm_name. "','$contact_sms')";

还应该注意的是,您还没有对输入进行消毒,这使得您的站点容易受到sql注入的攻击。您应该始终清理用户输入,并且强烈建议在插入到数据库中时使用预准备语句。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56196412

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档