执行多个php页面在一个单一的点击

Execution of multiple php pages on a single click

本文关键字:一个 单一 php 执行      更新时间:2023-09-26

这是我的代码片段:

<html>
<script type="text/javascript">
function Run()
{var a=["ONE" ,"TWO" ,"THREE", "FOUR", "FIVE"];
window.location.href = "index.php?w1=" +a;}
</script>
<body>
 <input type="button" id="upload" value="RUN" onclick="Run();"  />
<body>
</html>

当点击'RUN'时,我需要将数组值一个接一个地发送到多个页面,而不需要在页面之间移动。

1. Page1 index.php  // a has no use, executed first
2. Page2 index2.php // a is used here, executed second
3. Page3 index3.php  // a is  used here, executed third

有可能吗?

听起来您可以实现您正在尝试使用ajax。要使它们同步运行(一个接一个),可以在当前运行的ajax的成功回调中调用下一个PHP页面。下面的一些伪代码:

    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script type="text/javascript">
    var data = "my data";
    $.ajax({ url: 'index.php',
     data: { data: data },
     type: 'post',
     success: function(output) {             
            runindex2(output.data);
     }
    });
    function runindex2(data) {
        $.ajax({ url: 'index2.php',
         data: { mydata: data },
         type: 'post',
         success: function(output) {             
                runindex3();
         }
        });
    }
    function runindex3()....
    </script>

最佳案例:

使用ajax。

<html>
    <head>
        <script type="text/javascript">
        var xmlhttp = new Array;
        var url     = new Array;
        // Create 3 instances.
        for (var i = 0; i < 3; i++) {
            xmlhttp[i] = new XMLHttpRequest;
        }
        var arr = ["ONE", "TWO", "THREE", "FOUR", "FIVE"];
        // function which will run
        // on button click.
        function Run() {
            var url1 = "test.php?w1="  + arr;
            var url2 = "test1.php?w1=" + arr;
            var url3 = "test2.php?w1=" + arr;
            url = [url1, url2, url3];
            for (var i = 0; i < 3; i++) {
                xmlhttp[i].open("GET", url[i]);
                xmlhttp[i].onreadystatechange = function() {
                    if (this.readyState == 4) {
                        document.write(this.responseText);
                    }
                }
                xmlhttp[i].send(null);
            }
        }
        </script>
    </head>
    <body>
        <input type="button" id="upload" value="RUN" onclick="Run();"  />
    <body>
</html>
复杂解决方案:

在文档中使用4个iframe。首先保持它们不显示。然后单击按钮,打开所有iframe中的url。

<html>
    <head>
        <script type="text/javascript">
        var url     = new Array;
        var arr = ["ONE", "TWO", "THREE", "FOUR", "FIVE"];
        // function which will run
        // on button click.
        function Run() {
            var url1 = "test.php?w1="  + arr;
            var url2 = "test1.php?w1=" + arr;
            var url3 = "test2.php?w1=" + arr;
            url = [url1, url2, url3];
            var iframes = document.getElementsByTagName("iframe");
            for (var i = 0; i < iframes.length; i++) {
                iframes[i].src = url[i];
            }
        }
        </script>
    </head>
    <body>
        <input type="button" id="upload" value="RUN" onclick="Run();"  />
        <iframe style='display:none;'></iframe>
        <iframe style='display:none;'></iframe>
        <iframe style='display:none;'></iframe>
    <body>
</html>

的另一个方法:

在您的服务器中,您可以将其他两个文件包含到一个文件中。这里我在test.php

中包含了test1.php和test2.php
<?php
var_dump($_GET["w1"]);
include "test1.php";
include "test2.php";
?>
html:

<html>
    <head>
        <script type="text/javascript">
        var arr = ["ONE", "TWO", "THREE", "FOUR", "FIVE"];
        // function which will run
        // on button click.
        function Run() {
            window.location.href = "test.php?w1=" +arr;
        }
        </script>
    </head>
    <body>
        <input type="button" id="upload" value="RUN" onclick="Run();"  />
    <body>
</html>
相关文章: