php - 创建了行,但值未插入表中
问题描述
我创建了在数据库中插入下拉值的表单。一旦我点击“保存”按钮,在表中创建了新行,但值没有保存......请帮助我......如果您需要任何其他信息,请告诉我......
添加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);
?>
请帮助我...。如果您需要任何其他信息,请告诉我...
解决方案
表单将name
HTML 元素的属性$_POST
作为数组索引发送到 PHP 端,以获取它们对应的值。
您错过/拼错了这些name
属性,并面临问题。
更改如下: -
$name=$_POST['names'];
$type=$_POST['department'];
注意:- 您的代码有 SQL 注入漏洞prepared statements
。使用来防止这种情况
推荐阅读
- html - 选择选项中的HTML
- c++ - 在 tensorflow-gpu>=1.15 中使用用户运算符时未定义的符号
- regex - 如果 word_B 和 word_C 在彼此的 N 个单词中,并且 word_A 不在前面的 M 个单词中,则正则表达式匹配
- javascript - 在 html5 视频中切换音量
- javascript - 使用 event.preventDefault() 时 Owl Carousel 2 不起作用
- xcode - dylib 位置中的 macOS SDK 依赖项
- c - C中三元运算符中的条件表达式
- html - 桌面优先尝试使用媒体查询
- css - 在 cdk-virtual-scroll-viewport Angular 之外显示绝对元素
- css - Vuetify中的BootstrapVue b-form-checkbox&radio垂直中心?