Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.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
从服务器PHP文件返回字符串到客户端网页_Php - Fatal编程技术网

从服务器PHP文件返回字符串到客户端网页

从服务器PHP文件返回字符串到客户端网页,php,Php,这方面有很多,但我找不到任何特别适合我的案例。下面是两个测试文件PHP和HTML。HTML文件只是有两个文本框,每个文本框都有一个按钮。我希望发生以下情况: 单击“发送”按钮时要发送到PHP文件的上部文本框数据。这管用 PHP文件然后打开一个文本文件并附加数据。这管用 单击“接收”按钮,PHP文件打开文本文件并读取数据。这管用 现在我被难倒了。如何将数据从PHP文件返回到HTML文件中较低的文本框 注意:我正在使用jquery.redirect插件传输数据 HTML文件: <!DOCTYP

这方面有很多,但我找不到任何特别适合我的案例。下面是两个测试文件PHP和HTML。HTML文件只是有两个文本框,每个文本框都有一个按钮。我希望发生以下情况:

  • 单击“发送”按钮时要发送到PHP文件的上部文本框数据。这管用

  • PHP文件然后打开一个文本文件并附加数据。这管用

  • 单击“接收”按钮,PHP文件打开文本文件并读取数据。这管用

  • 现在我被难倒了。如何将数据从PHP文件返回到HTML文件中较低的文本框

  • 注意:我正在使用
    jquery.redirect
    插件传输数据

    HTML文件:

    <!DOCTYPE html>
    <html lang='en'>
    <head>
        <meta charset="UTF-8">
        <script src='jquery-2.1.4.js'></script>
        <script src="jquery.redirect.js"></script>
        <title>Test</title>
    </head>
    <body>
        <input id='send' type='text'></input>
        <div id='btnSend'><center>Send</center></div>
        <input id='receive' type='text'></input>
        <div id='btnReceive'><center>Receive</center></div>
    
    <style>
    #btnSend {
        width: 60px;
        border: solid 1px;
        cursor: pointer;
    }
    #btnReceive {
        width: 60px;
        border: solid 1px;
        cursor: pointer;
    }
    </style>
    <script type="text/javascript">
    
        $('#btnSend').click(function(){
            var dataOut = $('#send').val();
            $.redirect('http://troncon.ca/ESO/test.php',{ userOut: dataOut});
        });
        $('#btnReceive').click(function(){
            $.redirect('http://troncon.ca/ESO/test.php',{ userIn: ''});
        });
    
    </script>
    </body>
    
    </html>
    
    
    试验
    发送
    接收
    #btnSend{
    宽度:60px;
    边框:实心1px;
    光标:指针;
    }
    #B接收{
    宽度:60px;
    边框:实心1px;
    光标:指针;
    }
    $('#btnSend')。单击(函数(){
    var dataOut=$('#send').val();
    $.redirect('http://troncon.ca/ESO/test.php“,{userOut:dataOut});
    });
    $('#btnReceive')。单击(函数(){
    $.redirect('http://troncon.ca/ESO/test.php“,{userIn:”});
    });
    
    PHP文件:

    <?php
    if(isset($_POST['userOut'])) {
        sendData();
    }
    elseif(isset($_POST['userIn'])) {
        getData();
    }
    
    function sendData() {
        $handle = fopen('test.txt', "a");
        $test = $_POST['userOut'];
        fwrite($handle, $test);
        fclose($handle);
    }
    
    function getData() {
        $filename = "test.txt";
        $handle = fopen($filename, "r");
        $contents = fread($handle, filesize($filename));
        fclose($handle);
        //echo $contents;
    }
    ?>
    

    使用AJAX获取和发送数据:

    基于您的代码的示例如下:

    $('#btnSend').click(function() {
        var dataOut = $('#send');
        var data = {
            userOut: dataOut.val()
        };
        $.post("http://troncon.ca/ESO/test.php", data, function(data, status) {
            alert("Data saved ");
        });
    });
    $('#btnReceive').click(function() {
        var dataIn = $('#receive');
        var data = {
            userIn: ''
        };
        $.post("http://troncon.ca/ESO/test.php", data, function(data, status) {
            dataIn.val(data);
        });
    });
    

    你应该考虑使用Ajax,这样你就可以在发送数据后得到一个结果。你使用的重定向插入不接收数据,只发送。您可能必须使用其他方法,如
    $.post('http://troncon.ca/ESO/test.php“,{userOut:dataOut},函数(数据){alert(数据)}”谢谢回复。当我使用Iceman代码时,发送部分工作正常。但是接收给我一个错误“数据未定义”。我假设我需要对PHP文件做些什么,但不确定是什么。你能给我指一下正确的方向吗。谢谢。@TedN取消对您phpNope中的
    echo$contents
    的注释。当我得到错误时,我已经取消了对它的评论。我对Ajax的理解很少。在我当前的PHP代码中,“数据”是如何用字符串($contents)填充的?你的函数只是从文件中读取内容-
    fread
    @非常抱歉,错误已经纠正!!!未初始化接收中的数据参数