提交后下拉值未插入数据库

时间:2019-06-03 02:54:03

标签: php mysql

提交后,下拉值不会插入数据库(minit表)中。下拉值是从另一个表(文件表)填充的。

这来自addminit.php。它将接收来自用户的输入。

<p>File ID:<select class="" name="File ID">
        <?php
        while($rows = $filelist->fetch_assoc())
        {
          $f_id = $rows['file_id'];
          echo "<option value = '$f_id'>$f_id</option>";
        }
        ?>
</select></p>

此代码段来自minitadded.php。它将处理来自addminit.php的用户输入

<?php
        if(isset($_POST['submit'])){
          $data_missing = array();

          if(empty($_POST['file_id'])){
            $data_missing[] = 'File ID';
          }else{
             $f_id = trim($_POST['file_id']);
          }

          if(empty($_POST['minit_bil'])){
            $data_missing[] = 'Minit BIL';
          }else{
             $m_bil = trim($_POST['minit_bil']);
          }
          if(empty($_POST['minit_summ'])){
            $data_missing[] = 'Minit Summary';
          }else{
             $m_summ = trim($_POST['minit_summ']);
          }

          if(empty($data_missing)){
            require_once('databaseConnect.php');
            $query = "INSERT INTO minit (file_id,minit_bil, minit_summ) VALUES (?,?,?)";
            $stmt  = mysqli_prepare($dbConn,$query);

            mysqli_stmt_bind_param($stmt, "sss",$f_id, $m_bil, $m_summ);
            mysqli_stmt_execute($stmt);

            $affected_rows = mysqli_stmt_affected_rows($stmt);

            if($affected_rows == 1){
              echo 'Minit Entered';

              mysqli_stmt_close($stmt);
              mysqli_close($dbConn);
            } else{
              echo 'Error Occured<br />';
              echo mysqli_error();
              mysqli_stmt_close($stmt);
              mysqli_close($dbConn);
            }

我总结了addminit.php中的表格。它将回显此代码段。

          }else{
            echo 'You Need Enter The Following data<br />';

            foreach($data_missing as $missing){
              echo "$missing<br />";
            }
          }

        }
     ?>

3 个答案:

答案 0 :(得分:0)

正如fmsthird所说,您正在使用POST访问不存在的变量。使用$ _POST [“ File ID”]访问选择变量,或将选择的name参数更改为“ file_id”

答案 1 :(得分:0)

您正在使用名称为 file_id

的POST进行检查

if(empty($_POST['file_id'])){

因此,尝试将选择标签名称更改为 <select class="" name="file_id"> ,它应该可以工作。

答案 2 :(得分:0)

'文件ID '不等于' file_id '

  

您使用了$ _POST ['file_id'],其中“ file_id”应与name属性相同,   但在您的HTML选择标签中,名称属性为“文件ID”

您了解什么问题吗?