为什么每次刷新都插入一个空行,尽管只应按下按钮?

时间:2018-01-23 08:56:46

标签: php mysql sql

我的php文件中有以下代码:

if (isset($_POST['Add']) and $_POST['what to put in here']!="") {
    $sql2="INSERT INTO $tbl_name (id, name, auftrag, bemerkungen) VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT)";
    $result2=mysqli_query($link, $sql2);
}

'添加'是我想用来向我的表添加行的按钮的名称,但每次刷新行都会被添加。它应该只在我点击按钮时这样做。 我的问题是为什么每次刷新都这样做。

如果我没有提供足够的信息,请告诉我。

更新

我已经用我当前的问题更新了上面的代码,这是我不知道在我写“放在这里的内容”的括号中放什么。我指的是用户'Zaid Bin Khalid'的解释,我不太明白。

3 个答案:

答案 0 :(得分:1)

您可以使用jquery收听按钮click并将命令发送到PHP文件而不刷新页面。

$(document).ready(function(){
        $("#yourbuttonid").click(function(){

            $.ajax({
                type: 'POST',
                url: 'php_file_name.php',
                success: function(data) {
                    alert(data);
                    $("p").text(data);

                }
            });
   });
});

php_file_name.php

$sql2="INSERT INTO $tbl_name (id, name, auftrag, bemerkungen) VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT)";
$result2=mysqli_query($link, $sql2);
echo "inserted";

答案 1 :(得分:0)

您应该检查POSTisset($_POST['val])的值,而不是点击按钮

答案 2 :(得分:0)

尝试此操作并在您发布值中传递您的帖子数组索引。

if (isset($_POST['Add']) and $_POST['You_post_value']!="") {
    $sql2="INSERT INTO $tbl_name (id, name, auftrag, bemerkungen) VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT)";
    $result2=mysqli_query($link, $sql2);
}

<强> OR

if (isset($_POST['You_post_value']) and $_POST['You_post_value']!="") {
    $sql2="INSERT INTO $tbl_name (id, name, auftrag, bemerkungen) VALUES (DEFAULT, DEFAULT, DEFAULT, DEFAULT)";
    $result2=mysqli_query($link, $sql2);
}

注意:它应该是您的帖子后值,忽略按钮点击。