首页 > 解决方案 > 单击提交后如何在隐藏时自动将值放入输入中?

问题描述

这是输入部分:

<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:我删除了部分代码以减少长度。我留下了重要的东西。

标签: phphtmlinputhidden

解决方案


你可以这样做:

<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 注入。


推荐阅读