大家好我想在我的网站上建一个搜索引擎。搜索引擎必须浏览一个类别,搜索后必须显示所有结果。但引擎不会显示结果。
示例:X用户在PC游戏中搜索Y游戏。 X用户在文本区域中键入游戏名称,然后单击按钮搜索。搜索脚本后没有显示Y游戏的结果。 这是我的剧本
<form action="search.php" method="POST">
<p><br />
<input name="q" type="hidden" />
<font color="black">Hunt Data:</font>
<input name="qfront" type="text" style="width: 230px" name="nume"id="nume" />
<select name="category">
<option value="0">All</option>
<option value="1">PC-Games</option>
<option value="2">Console</option>
<option value="3">Movies</option>
<option value="4">Music</option>
<option value="5">XXX</option>
<option value="6">Windows</option>
<option value="7">Linux</option>
<option value="8">Software</option>
<option value="9">Documents</option>
<input type="submit" value="Search" />
</p>
</form>
PHP脚本
<html>
<body>
<center>
<font color="black" size="4">
<?php
//define each directory here, the index starts with 0 == all and so on.
$categorydir = array('/Category/All/', '/Category/PCGames/', '/Category/Console/', '/Category/Movies/', '/Category/Music/', '/Category/XXX/', '/Category/Windows/', '/Category/Linux/', '/Category/Software/', '/Category/Documents/');
//if option selected and its valid number
if (isset($_POST['category']))
if(ctype_digit($_POST['category']) && isset($categorydir[$_POST['category']])) {
if(array_key_exists($_POST['category'], $categorydir) && is_dir($categorydir[$_POST['category']])) {
$handle = opendir($categorydir[$_POST['category']]); //LINE 14
$files = scandir($handle);
echo 'Results of search:<br></br>';
foreach($files as $file){ //LINE 17
echo($file);
}
} else {
echo 'target directory not found';
}
}
?>
</font>
</center>
</body>
</html>
<html>
<head>
<title>DataHunters</title>
<link rel="stylesheet" type="text/css" href="style.css" />
</head>
<body>
<div id="header">
<h1 id="logo"><a href="index.html">DataHunters</a>
</h1>
</div>
<div id="navigation">
<ul>
<li><a class="active" href="index.html">Home</li></a>
<li><a href="chat.html">Chat</li></a>
<li><a href="contact.html">Contact</li></a>
<li><a href="http://www.forum.datahunters.ro">Forum</li></a>
</ul>
</li>
</div>
</body>
</html>
答案 0 :(得分:1)
在这里,如果您觉得可以关闭它,我会将其作为答案发布。
我认为你的问题是这样的
scandir
需要一个 目录的字符串参数,而不是文件句柄。
正如人们所说,你应该花时间去了解有关数据库的更多信息。网上有很多教程,这对于任何类型的开发来说都是必需的技能。 MySQL和PDO是一个很好的起点。
祝你好运。