Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/279.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在外部html文件中显示搜索结果文本文件_Php_Jquery_Html_Ajax - Fatal编程技术网

PHP在外部html文件中显示搜索结果文本文件

PHP在外部html文件中显示搜索结果文本文件,php,jquery,html,ajax,Php,Jquery,Html,Ajax,我试图在index.html文件中创建一个html表单,从中我可以通过文件searchFile.PHP通过PHP查询文本文件中的一行字符,获取特定的行并在index.html中以所述形式显示它 我的问题是,我的搜索结果字段中没有显示任何内容,也没有显示错误消息或搜索结果 更新我进一步调查了我的问题,我意识到我使用搜索按钮的方式不允许在页面再次更新和回音内容删除之前在页面上显示任何回音。不过,我不知道如果不使用两个按钮,我应该如何解决这个问题,一个用于搜索,另一个用于获取搜索结果 这就是我到目前为

我试图在index.html文件中创建一个html表单,从中我可以通过文件searchFile.PHP通过PHP查询文本文件中的一行字符,获取特定的行并在index.html中以所述形式显示它

我的问题是,我的搜索结果字段中没有显示任何内容,也没有显示错误消息或搜索结果

更新我进一步调查了我的问题,我意识到我使用
搜索
按钮的方式不允许在页面再次更新和
回音
内容删除之前在页面上显示任何回音。不过,我不知道如果不使用两个按钮,我应该如何解决这个问题,一个用于搜索,另一个用于获取搜索结果

这就是我到目前为止的想法:

index.html

      </head>

                <body>
            <script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js">
           $(function() {

           // getting the search term
        var searchString = $("#search_box").val();
        // forming the searchString
        var data = 'search='+ searchString;

        //if searchString is not empty
        if(searchString) {
            // call ajax
            $.ajax({
                type: "POST",
                url: "searchFile.php",
                data: data,
              beforeSend: function(html) { // this happens before actual call
                    $("#results").html(''); 
                    $("#searchresults").show();
                    $(".word").html(searchString);
               },
               success: function(html){ // this happens after we get results
                    $("#results").show();
                    $("#results").append(html);
              }
            });    
        }
        return false;


});


</script>


<form name="theForm" method="post">
Name: <input type='text' onclick="ajaxFunction();" name='search' class='search_box' id='search_box'/> <br />
<input type='submit' value='Search' class="search_button" ><br />

</form>

<div id="searchresults">Result: <span id="results" class="update"></span></div>




</body>
</html>

$(函数(){
//获取搜索词
var searchString=$(“#搜索框”).val();
//形成搜索字符串
变量数据='搜索='+搜索字符串;
//如果searchString不是空的
如果(搜索字符串){
//调用ajax
$.ajax({
类型:“POST”,
url:“searchFile.php”,
数据:数据,
beforeSend:function(html){//这发生在实际调用之前
$(“#结果”).html(“”);
$(“#搜索结果”).show();
$(“.word”).html(搜索字符串);
},
success:function(html){//这在我们得到结果之后发生
$(“#结果”).show();
$(“#结果”).append(html);
}
});    
}
返回false;
});
名称:

结果:
searchFile.php

<?php
$search = explode(' ', $_REQUEST["search"]);

$lines = file('file-export.txt'); 
foreach($lines as $line) 
{ 
    if(strpos($line, $search[0]) !== false && strpos($line, $search[1] !== false)) { 
        echo '<div id="searchresults">' . $search . '</div>';
    }else{

    echo '<div id="searchresults">' . "No match" . '</div>';


    }
} 
?>   

编辑:使用action=“searchFile.php” 编辑2:功能搜索按钮
编辑3:小更改

您试图在块中查找不存在的搜索字符串

    var searchString = $("#search_box").val();
您没有id为search\u box的块,只有class search\u box,即$(“.search\u box”)或



请发布您的
ajaxFunction()以及如果可能,如何/在何处处理
POST
变量。添加到index.html请检查控制台日志并显示错误。我正在dream weaver中编码,它没有控制台或日志功能?在浏览器中测试页面时,我没有收到任何错误,代码中也没有错误。您的成功输出字段不会回显除
$search
之外的任何内容。作为一种调试技术,请尝试在其中放入一些虚拟文本,以查看它是否正在输出任何内容(例如,
echo“search result:”。$search;
),这样您可以查看问题是与搜索有关还是与输出有关。
    <input type='text' onclick="ajaxFunction();" name='search' class='search_box' id='search_box'/>