Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过POST向多个PHP文件提交值_Php_Javascript_Html - Fatal编程技术网

通过POST向多个PHP文件提交值

通过POST向多个PHP文件提交值,php,javascript,html,Php,Javascript,Html,我有一张表格: <form action="moods.php" method="post" id="geog"> Longitude: <input size="15" id="lonbox" name="lon" type="text" /> Latitude: <input size="15" id="latbox" name="lat" type="text" /> <input type="submit" /> </form>

我有一张表格:

<form action="moods.php" method="post" id="geog">
Longitude: <input size="15" id="lonbox" name="lon" type="text" />
Latitude: <input size="15" id="latbox" name="lat" type="text" />
<input type="submit"  />
</form>

经度:
纬度:
我希望使用上面的表单同时将纬度和经度的值提交到moods.php之外的多个.php文件中


我该怎么做??请提出一些建议

您可以将其提交到包含cURL脚本的文件中,该脚本将处理多个提交

<form action="multi_submit.php" method="post" id="geog">


在multi_submit.php上,使用

处理表单提交为什么表单提交到多个页面,而您可以使用一个脚本包含()其他脚本

require('script1.php');
require('script2.php');
require('script3.php');

如果您确实需要在多个.php文件上提交值,而dqhendricks提供的require选项无法解决这个问题,那么为什么不使用几个Ajax调用呢?每个文件一个

你可以有这样的东西:

<form onsubmit='sendSeveralPost()'>
... form fields
</form>

... 表单字段
还有javascript函数

function sendSeveralPost() {
    var f1 = document.getElementById('field1');
    var f2 = document.getElementById('field2');

    var x = getXmlHttp();

    var params = 'field1='+f1+'&field2='+f2;

    x.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
    x.setRequestHeader("Content-length", params.length);
    x.setRequestHeader("Connection", "close");

    var files = new Array();
    files[0] = 'script1.php';
    files[1] = 'script2.php';
    files[2] = 'script3.php';

    for (i=0;i<files.lenght;i++) {
        var url = files[i];
        x.open("POST", url, true);

        x.onreadystatechange = function() {//Call a function when the state changes.
             if(x.readyState == 4 && x.status == 200) {
                alert(x.responseText);
            }
        }
        x.send(params);
    }
}

function getXmlHttp() {
    var xmlHttp;
    try {    // Firefox, Opera 8.0+, Safari
        xmlHttp=new XMLHttpRequest();
    } catch (e) {
        try {     // Internet Explorer 6.0+
            xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
        } catch (e){
            try {   // Internet Explorer 5.5
                xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
            } catch (e){
                alert("Your browser does not support AJAX!");
                return false;
            }
        }
    }
    return xmlHttp;
}
函数sendSeveralPost(){
var f1=document.getElementById('field1');
var f2=document.getElementById('field2');
var x=getXmlHttp();
变量参数='field1='+f1+'&field2='+f2;
x、 setRequestHeader(“内容类型”、“应用程序/x-www-form-urlencoded”);
x、 setRequestHeader(“内容长度”,参数长度);
x、 setRequestHeader(“连接”、“关闭”);
var files=新数组();
文件[0]=“script1.php”;
文件[1]=“script2.php”;
文件[2]=“script3.php”;

对于(i=0;i),在将字段值传递到多个.php文件后,我需要重定向到moods.php中的一个。我应该如何进一步处理?可以使用javascript行重定向:
window.location=http://www.mysite.com/moods.php“
或使用javascript行将表单提交到此文件:
document.getElementById('formId').submit();
我之前也尝试过window.location..我应该把那一行放在sendSeveralPost()的哪里函数结尾处???@Ademire..你提到的两行代码应该放在哪里?请帮助..你应该使用这一行中的一行。window.location将重定向你的浏览器,form.submit将提交帖子…我相信你应该在测试完所有帖子是否正确发送后,将其放在onreadystatechange函数中。小心,这段代码不完整,我只是把主要的想法,你应该完成它与你的逻辑需要