php javascript刷新页面

php javascript刷新页面,javascript,php,Javascript,Php,我有工作:第一页-用户输入字符串并按下提交按钮。此参数通过会话发送到另一个页面,该页面运行某种脚本命令并显示结果输出。下面是更清楚的代码: 第一页: <?php session_start(); echo "<input type=\"text\" id=\"userInput\">"; echo "<br><button onclick=\"submit()\">Submit</button>"; $_SES

我有工作:第一页-用户输入字符串并按下提交按钮。此参数通过会话发送到另一个页面,该页面运行某种脚本命令并显示结果输出。下面是更清楚的代码:

第一页:

<?php
    session_start();
    echo "<input type=\"text\" id=\"userInput\">";
    echo "<br><button onclick=\"submit()\">Submit</button>";
    $_SESSION[''] = $input;
?>

<script type="text/javascript">
    var submit = function() {
        input = document.getElementById("userInput").value;
        window.open ('secondPage.php?userInput=' + input,'_self',false);}
</script>
第二页:

<?php
    session_start();
    $input = $_GET['userInput'];
    $command = "./myScript.py $input";
    system($command, $retval);
?>

现在,我希望在一个页面中同时包含这两个内容,即当页面打开时,输入字段和按钮将位于其顶部,其下方将是第二个页面的命令输出,每次用户提交另一个输入时刷新,而userInput将为空。希望这是清楚的,或多或少。有什么帮助吗?

我想这就是你需要的:

<?php
    session_start();

    // We check if there's POST data 'userInput'
    if (isset($_POST['userInput'])) {
        // 'userIput' exists, we make our process and return what we need.
        echo 'User inputed '.$_POST['userInput']."<br>";
    } else {
        // 'userIput' does not exists, displaying page content.
        ?>
        <input id="userInput" type="text" /><button id="btn">Send</button>
        <div id="result">
            <!-- Displaying AJAX results here -->
        </div>
        <script type="text/javascript">

            // Send an XMLHttpRequest
            function sendRequest(url, postData, callback) {
                var req = new XMLHttpRequest();
                if (!req)
                    return;
                var method = (postData) ? "POST" : "GET";
                req.open(method,url,true);
                if (postData)
                    req.setRequestHeader('Content-type','application/x-www-form-urlencoded');
                req.onreadystatechange = function () {
                    if (req.readyState != 4)
                        return;
                    if (req.status != 200 && req.status != 304) {
                        return;
                    }
                    callback(req);
                }
                if (req.readyState == 4)
                    return;
                req.send(postData);
            }

            // We bind the 'click' event on the button
            document.getElementById("btn").addEventListener('click', function(e) {
                var input = document.getElementById("userInput").value;
                // Use AJAX
                sendRequest("#", 'userInput='+input, function(data) {
                    // Data returned, inserting in our 'result' div.
                    var resDiv = document.getElementById("result");
                    resDiv.innerHTML = resDiv.innerHTML + data.responseText;
                });
            });
        </script>

        <?php
    }

那么,你为什么不试着编写一些代码来做呢?似乎提交页面没有什么意义,你可以用一点javascript来完成所有这些,而根本不提交页面。你可以说得更具体一点吗?谢谢McPotato先生,这非常有帮助。不客气!您应该关注jQuery,它为您的DOM元素、事件监听器提供了一个很好的访问接口,还简化了很多ajax查询;