如何在单击按钮并显示结果时一起使用AJAX和PHP strpos()函数

时间:2015-10-21 16:05:53

标签: php jquery ajax

我正在开发一个网络应用。此Web应用程序应该能够让用户从您的计算机中的文本文件中搜索关键字,并显示包含它的行,前一行和后面的行。我使用PHP文件处理来读取文件,并将每行保存在一个字符串数组中,用于搜索和显示结果。

<form class="form-horizontal" method="post" id="form-search" action = "index.php">
    <div class="form-group">
        <label for="keyword" class="col-sm-2 control-label">Keyword</label>
            <div class="col-sm-10">
                <input type="text" class="form-control" name="keyword" id="keyword" placeholder="Keyword">
            </div>
    </div><!-- end .from-group -->
    <div class="form-group">
        <div class="col-sm-2 col-sm-offset-2">
            <button type="submit" id = "searchkey" class="btn btn-default">Search</button>
        </div>
    </div><!-- end .from-group -->
</form>

jQuery的:

$('#form-search').submit(function(event){
        var key = $('#keyword').val();
        var ajaxurl = 'search.php',
        data =  {'action': key};
        $.post(ajaxurl, data, function (response, status) {

            alert(status);
        });
    });

的search.php

<?php
    if (isset('$_POST['action']')) 
    {
        $keyword = $_POST['action'];
        search($keyword);
    }
    function search($key)
    {
        $x = 0;
        $y = 0;
        $line;
        $myfile = fopen("samplefile.txt", "r") or die("Unable to open file!");
        while(!feof($myfile)) 
        {
            $line[$x] = fgets($myfile);
            $x++;
        }
        fclose($myfile);

        while($y<=$x)
        {
            if (strpos($key,$line[$y]) !== false) {
                echo "Before: " . $line[$y-1] . "<br>";
                echo "After: " . $line[$y+1] . "<br>";
                echo "Line " . $y . ": " . $line[$y];
               // break;

            }
            else
                $y++;
        }
        if($y>$x)
        {
            echo "Can't find keyword."
        }

    }

}
?>

单击按钮时,上面的代码无效。我只是不确定它有什么问题.....我可能完全不了解$ .post()和$ _POST。谢谢你的帮助。

0 个答案:

没有答案