【问题标题】:PHP - Insert into database in the same filePHP - 在同一个文件中插入数据库
【发布时间】:2017-02-26 20:12:42
【问题描述】:

我正在做一个基于 php 的网站,我对表单提交有疑问。 例如,我的 index.php 中有以下表单:

<form method='post' action='./insert_database.php'>    
<input type="checkbox" name="value[]" value="name1">'name1'</br>
<input type="checkbox" name="value[]" value="name2">'name2'</br>
<input type="checkbox" name="value[]" value="name3">'name3'</br>
<input type="checkbox" name="value[]" value="name4">'name4'</br>
<input type="checkbox" name="value[]" value="name5">'name5'</br>
<input type="checkbox" name="value[]" value="name6">'name6'</br>
<input type='submit' name='submit' value='submit'>
</form>

然后,我可以标记一个复选框,当我提交表单时,它会通过 POST 转到另一个 url "./insert_database.php" 并启动正确的查询。

问题是我不想要这个。我不想离开当前页面。 是否存在任何形式在后台执行并保留在 index.php 中?我知道我可以在 insert_database.php 中“重定向”到 index.php 但是..我认为这是一个更好的主意。

我的意思是,我不想在用户提交表单时将用户从 index.php 中移出。还是存在另一种表格以将表格值插入数据库?

提前谢谢你。


让我更好地解释一下我的情况......

这是我的 php 代码:

echo "<form>";
        if (is_dir($dir)){
            if ($dh = opendir($dir)){
                while (($file = readdir($dh)) !== false){
                    if ($file !== '.' && $file !== '..'){
                        echo '
                        <input type="checkbox" class="song" name="song[]" value="'.$file.'">'.$file.'</br>';
                    }   
                }
                closedir($dh);
            }
        }

    echo "<button id='submit'>Submit</button>";
echo "</form>";

这个函数正在读取一个目录并创建一个带有复选框的表单,其中包含该目录中的所有歌曲。然后,如果您检查例如 5 首歌曲并按下提交按钮,它会执行以下脚本:

<head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
    <script>
    $('#submit').click(function() {
    $.ajax({
        url: "./functions/add_list.php",
        type: "post",
        data: $('.song:checked').serialize();
    });
    });

    </script>

</head>

./functions/add_list 有一个 php 代码可以在数据库中插入值。 问题是这对我不起作用,我不知道为什么......我是 ajax 新手,我需要帮助......我已经尝试在这个论坛中找到解决方案,但没有找到。

【问题讨论】:

  • require_once('./insert_database.php');&lt;form method='post'&gt; 怎么样
  • 这个问题已经在这里被问了很多次了,也被回答了很多次......
  • 对于 AJAX,我应该使用哪个库?我从来没有用过这个。

标签: php jquery html ajax


【解决方案1】:

使用 AJAX 在后台提交请求是可行的方法。

使用像 jQuery Form 这样的插件可以轻松解决这个问题:http://malsup.com/jquery/form/

【讨论】:

  • 那么如果我通过 AJAX 使用 type: "POST" 命令发送值,它会在不离开当前页面的情况下将复选框插入数据库?我会试试。谢谢。
【解决方案2】:
function submit_form() {
    $.post("./insert_database.php", { 
            //the names of the keys being passed into POST
            first_name: $("#tbxFirstName").val(),
            last_name: $("#tbxLastName").val()
        }, function(msg) {
        //What gets returned by the PHP
        console.log(msg);
    });
};

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-20
    • 2020-11-12
    • 2015-05-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多