我有三个档案; index.php,searchbar.php和search.php
现在当我有search.php在自己的页面上显示其结果时很好,但是当我尝试在index.php中包含搜索页面时,我什么都没得到。
所以我在index.php中包含了searchbox.php,所以我有一个搜索栏,然后我搜索一些内容,并在index.php上使用$ _GET ['p']包含search.php页面,但是搜索总是空白,如果我只是将search.php作为自己的页面并且不尝试包含它然后我得到我的结果但是id就像他们被包含在他们被搜索的页面上一样。
的index.php
<?php
if (isset($_GET['p']) && $_GET['p'] != "") {
$p = $_GET['p'];
if (file_exists('include/'.$p.'.php')) {
@include ('include/'.$p.'.php');
} elseif (!file_exists('include/'.$p.'.php')) {
echo 'Page you are requesting doesn´t exist<br><br>';
}
} else {
@include ('news.php');
}
?>
searchbox.php
<div id="searchwrapper"><form action="?p=search" method="get">
<input type="text" class="searchbox" name="query" value="" id="query"/>
<input type="image" src="search.png" class="searchbox_submit" value="" ALT="Submit Form" id="submit"/>
</form>
</div>
的search.php
<?php
include 'connect.php';
$searchTerms = $_GET['query'];
$query = mysql_query("SELECT * FROM misc WHERE itemname LIKE '%$searchTerms%' ORDER BY itemname ");
{
echo "<table border='1' cellpadding='2' cellspacing='0' width=608 id='misc' class='tablesorter'><thead>";
echo "<tr> <th> </th> <th>Item Name</th> <th>Desc.</th></tr></thead><tbody>";
// keeps getting the next row until there are no more to get
while($row = mysql_fetch_array( $query )) {
// Print out the contents of each row into a table
echo "<tr><td width=50>";
echo $row['image'];
echo "</td><td width=150>";
echo $row['itemname'];
echo "</td><td width=250>";
echo $row['desc'];
echo "</td></tr>";
}
echo "</tbody></table>";;
}
if (mysql_num_rows($query) == 0)
{
echo 'No Results';
}
?>
答案 0 :(得分:0)
空白页几乎总是意味着您在结束?>
后有空格。删除index.php和search.php中的结束?>
- 这将强制预处理器动态确定EOF,这正是您想要的(以及几乎每个PHP框架/公司在其编码标准中包含的内容)。 / p>
答案 1 :(得分:0)
当我复制你的代码时,“p = search”没有结转。更好的设置方法是让操作只是转到你的index.php文件,并有一个隐藏的输入:
<input type="hidden" name="p" value="search" />
这对你有用!