首页 > 解决方案 > 创建了行,但值未插入表中

问题描述

我创建了在数据库中插入下拉值的表单。一旦我点击“保存”按钮,在表中创建了新行,但值没有保存......请帮助我......如果您需要任何其他信息,请告诉我......

在此处输入图像描述

添加9.php

<?php 
require_once("dbcontroller.php");
$db_handle = new DBController();
?>

      <form name="adduserforms" id="adduserforms" method="post" enctype="multipart/form-data" action="add10.php" >

        name: 
        <select name="names" id="names" class="username">
        <option value="">Select name</option>
        <option value="1" <?php if(isset($_POST['name']) && $_POST['name']==1) echo "Selected";?>>1</option>
        <option value="2" <?php if(isset($_POST['name']) && $_POST['name']==2) echo "Selected";?> class="username">2</option>
        </select>
        <br/>
        type: 
        <select name="department" id="department" class="username">
        <option value="">Select type</option>
        <option value="0" <?php if(isset($_POST['type']) && $_POST['type']==0) echo "Selected";?>>a</option>
        <option value="1" <?php if(isset($_POST['type']) && $_POST['type']==1) echo "Selected";?>>b</option>

        </select>
        <br/>
         <input type="hidden" name="edituser" id="edituser" value="<?php echo @$_POST['edituser'];?>"/>
        <?php if(isset($_POST['edituser']) && $_POST['edituser']=="editUsers"){?>

        <input type="hidden" name="userId" value="<?php echo $_POST['userid'];?>"/>
        <?php }?>
       <input type="button" class="ajax-assign-button" id="assign" value="Save" onclick="assignusers();"/>
       <a href="list1.php"><input type="button" name="BACK" value="BACK"/></a>
      </form>



<script type="text/javascript">
  function assignusers() {

    var edituser=$("#edituser" ).val(); 
    var descheck=$("#names option:selected" ).val(); 
    var depcheck=$("#department option:selected" ).val();

   if(edituser!='')
   {

      if(depcheck!='' && descheck!='')
      {

       $("#adduserforms").submit();

      }
      else
      {
        alert("Please complete the form.");
      }
   }
   else
   {   if(depcheck!='' && descheck!='')
      {

       $("#adduserforms").submit();

      }
      else
      {
        alert("Please complete the form.");
      }
   }


  }
</script>

add10.php

<?php
require_once("dbcontroller.php");
$db_handle = new DBController();
$name=$_POST['name'];
$type=$_POST['type'];

if(isset($_POST['edituser']) && $_POST['edituser']=="editUsers")
{
    if($_SESSION['login_user']=='admin')
    {
        $sql = "UPDATE outofstock set name='".$name."',type='".$type."' WHERE id=".$_POST['userId'];
    }
    else
    {
        $sql = "UPDATE outofstock set name='".$name."',type='".$type."' WHERE id=".$_POST['userId'];
    }

    $redirectUrl="list1.php";
}
else if(isset($_POST['deleteuser']) && $_POST['deleteuser']=="deleteuser")
{
    $sql = "DELETE FROM outofstock WHERE id=".$_POST['userid'];
    $redirectUrl="list1.php";
}
else
{
 $sql = "INSERT INTO outofstock (name,type) VALUES ('".$name."','".$type."')";
 $redirectUrl="list1.php";

}

$result = $db_handle->executeUpdate($sql);
header("location:../Admin/".$redirectUrl);

?>

请帮助我...。如果您需要任何其他信息,请告诉我...

标签: php

解决方案


表单将nameHTML 元素的属性$_POST作为数组索引发送到 PHP 端,以获取它们对应的值。

您错过/拼错了这些name属性,并面临问题。

更改如下: -

$name=$_POST['names']; 

$type=$_POST['department'];

注意:- 您的代码有 SQL 注入漏洞prepared statements。使用来防止这种情况

mysqli_prepare()

PDO::准备


推荐阅读