我正在开发一个网络应用。此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。谢谢你的帮助。