Php 双重提交表格

Php 双重提交表格,php,jquery,ajax,Php,Jquery,Ajax,我可以再提交一份表格吗。 我有一种方式; 同时我还有一个action.js文件,我在其中使用Ajax提交表单 action.php包含: <?php //CODE ?> $(document).ready(function(){ $("#submit").click(function(){ var name = $("#name").val(); var email = $("#email").val(); var passw

我可以再提交一份表格吗。 我有一种方式; 同时我还有一个action.js文件,我在其中使用Ajax提交表单

action.php包含:

<?php
//CODE
?>
$(document).ready(function(){
    $("#submit").click(function(){
        var name = $("#name").val();
        var email = $("#email").val();
        var password = $("#password").val();
        var contact = $("#contact").val();
        // Returns successful data submission message when the entered information is stored in database.
        var dataString = 'name1='+ name + '&email1='+ email + '&password1='+ password + '&contact1='+ contact;
        if(name=='')
        {
            alert("");
        }
        else
        {
            // AJAX Code To Submit Form.
            $.ajax({
                type: "POST",
                url: "ajaxsubmit.php",
                data: dataString,
                cache: false,
                success: function(result){
                    alert(result);
                }
            });
        }
        return false;
    });
});

如果您的页面在提交时重新定向到action.php,并在action.php文件中添加代码,该文件将在加载用户活动或执行其原始函数后记录用户活动,该怎么办

如果您使用的是数据库,为什么不使用MySQL触发器函数进行日志记录呢?这样,您就不需要运行任何脚本,但是如果触发器设置正确,所有操作都是自动完成的


下面是一些示例的链接,为什么不使用ajax同时提交这两个示例呢

从中删除操作,并使用JavaScript阻止表单提交,然后运行第一个ajax请求,然后运行第二个,如果需要,可以使用JS重定向用户

$(document).ready(function(){

    function secondAjax(dataString){
        $.ajax({
            type: "POST",
            url: "action.php",
            data: dataString,
            cache: false,
            success: function(result){
                //optionally redirect the user
                window.location('http://someurl.com')
            }
        });        
    }


    $("#submit").click(function(event){
        event.preventDefault();
        var name = $("#name").val();
        var email = $("#email").val();
        var password = $("#password").val();
        var contact = $("#contact").val();
        // Returns successful data submission message when the entered information is stored in database.
        var dataString = 'name1='+ name + '&email1='+ email + '&password1='+ password + '&contact1='+ contact;
        if(name=='')
        {
            alert("");
        }
        else
        {
            // AJAX Code To Submit Form.
            $.ajax({
                type: "POST",
                url: "ajaxsubmit.php",
                data: dataString,
                cache: false,
                success: function(result){
                    //send second ajax call
                    secondAjax(dataString); // pass the dataString into the new function
                }
            });
        }
        return false;
    });
});

…为什么要双重提交表格?出于什么目的?例如,我想制作一个js文件来记录用户的活动。我仍然不明白两次提交表单如何帮助实现这一点。用户跟踪可以通过一千种方式完成,我想我从来没有听说过双表单提交是其中之一。@arthurakay我需要用一个电子邮件注册表单来完成一次。我需要将结果发送到CMS和电子邮件服务。如果我想要分析,我想将数据提交到电子邮件和其他数据库,这是不够的,+我希望这样不会占用大量的加载时间,也不会向服务器收取太多费用。这很好,但有没有其他方法可以处理这两个文件?php和ajax?如果不是这样的话,那就好了。是的,您可以先使用preventDefault,然后在ajax调用成功函数中,您可以触发表单,以绕过preventDefault的方式提交表单,而只是以常规方式提交表单。但我在过去尝试做类似的事情时遇到了问题,我展示的第一种方法更可靠。非常感谢,太棒了