php - 单击提交后如何在隐藏时自动将值放入输入中?
问题描述
这是输入部分:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
<input type="hidden" name="ldbal" value="2000">
<input type="submit" name="btn-signup" class="btnreg" value="Register">
</form>
现在这是我要提交数据的地方,我希望ldbal
输入中的值“2000”在隐藏时插入到数据库中。
<?php
if(isset($_POST['btn-signup']))
{
$Ldbal = $_POST['ldbal'];
$ins="INSERT INTO customers (Cus_Loadbal) VALUES ('$Ldbal')";
if($conn->query($ins)===TRUE)
{
<div class="alertinfo2">
<strong>Congrats!</strong>
</div>
}
else
{
?>
<div class="alertinfo2">
<strong>Sorry!</strong> Failed to insert. Please try again
</div>
<?php
}
}
?>
但是当检查数据库时,该值总是0。你能帮帮我吗?
PS:我删除了部分代码以减少长度。我留下了重要的东西。
解决方案
你可以这样做:
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" onsubmit="return updateHidden()" method="POST">
<input type="hidden" name="ldbal" id="ldbal" value="2000">
<input type="submit" name="btn-signup" class="btnreg" value="Register">
</form>
创建一个 JS 函数,您将在其中设置如下值:
function updateHidden(){
$("ldbal").val("set whateve value you want to set");
// don't forget to define the id
return true; // if you change it to false, the form won't get submitted.
}
PS。您向数据库中添加值的方式将导致 SQL 注入(阅读它)并编写安全代码以避免 sql 注入。
推荐阅读
- c# - "SqlCommandTimeout" value="120" SQL 异常
- apache-spark - Databricks - 如何确定分区数?
- firebase - 对等点之间的 Flutter-Firebase 文件查看/下载
- python - 列表 A 是否有任何不在列表 B 中的项目
- angular - 查找 OpenLayers 数组的索引
- javascript - 从 WKWebView 中的 URL 运行 Javascript
- python - 在 Python 中取 np.ndarray 的点积
- javascript - e.target.value 未定义
- ios - Xcode - “无法启动
”, 没有这样的文件或目录错误 - sql - 自加入:如何选择一组特定的数据