Php 搜索页上的分页返回错误

Php 搜索页上的分页返回错误,php,mysql,search,pagination,Php,Mysql,Search,Pagination,我正在做一个项目,应该有一个PHP/MYSQL搜索页面。搜索页面上有下一个、最后一个、上一个和第一个不起作用的导航链接。当我单击“下一步”或“上一步”在下一页上获取结果时,它会给我一个错误“搜索词未找到”。这是我的密码: <form name="search" method="post" action="search_ind.php"> <h4> <font color="#FFFFFF">Seach for:

我正在做一个项目,应该有一个PHP/MYSQL搜索页面。搜索页面上有下一个、最后一个、上一个和第一个不起作用的导航链接。当我单击“下一步”或“上一步”在下一页上获取结果时,它会给我一个错误“搜索词未找到”。这是我的密码:

<form name="search" method="post" action="search_ind.php">
    <h4>
        <font color="#FFFFFF">Seach for:
            <input type="text" name="term" />
            in
            <select name="field">
                <option value="firstname">First Name</option>
                <option value="lastname">Last Name</option>
                <option value="phone">Phone Number</option>
                <option value="street">Street</option>
                <option value="district">District</option>
                <option value="region">Region</option>
            </select>
            <input type="submit" name="search2" value="Search" />
        </font></h4>
</form>
<h1 align="center"><span class="style6"><font color="#FFFFFF">Search Results</font></span>
    <p class="style1 style3"></h1>
<div align="center" class="style4">
    <p class="style5">
        <?php
        $host = "localhost";
        $username = "root";
        $password = "";
        $database = "oab";

        $term = $_POST['term'];

        //If they did not enter a search term we give them an error
        if ($term == "") {
            echo "<p>You forgot to enter a search term!!! Please enter a search term and try again...";
            exit;
        }
// check for a search parameter
        if (!isset($term)) {
            echo "<p>We dont seem to have a search parameter!</p>";
            exit;
        }


        mysql_connect($host, $username, $password);
        @mysql_select_db($database) or die("Unable to select database");

        if (isset($_GET['pageno'])) {
            $pageno = $_GET['pageno'];
        } else {
            $pageno = 1;
        } // if
        $query = "SELECT count(*) FROM individual WHERE FName like '%$term%' OR LName like '%$term%' OR Phone1 like '%$term%' OR Phone2 like '%$term%' OR Street like '%$term%' OR District like '%$term%' OR Region like '%$term%'";
        $result = mysql_query($query);
        $query_data = mysql_fetch_row($result);
        $numrows = $query_data[0];

        $rows_per_page = 10;
        $lastpage = ceil($numrows / $rows_per_page);

        $pageno = (int) $pageno;
        if ($pageno > $lastpage) {
            $pageno = $lastpage;
        } // if
        if ($pageno < 1) {
            $pageno = 1;
        } // if

        $limit = 'LIMIT ' . ($pageno - 1) * $rows_per_page . ',' . $rows_per_page;
        $query = "select * from individual WHERE FName like '%$term%' OR LName like '%$term%' OR Phone1 like '%$term%' OR Phone2 like '%$term%' OR Street like '%$term%' OR District like '%$term%' OR Region like '%$term%' ORDER BY LName $limit";
        $result = mysql_query($query);
        $num = mysql_numrows($result);

        if ($pageno == 1) {
            echo " FIRST PREV ";
        } else {
            echo " <a href='{$_SERVER['PHP_SELF']}?pageno=1'>FIRST</a> ";
            $prevpage = $pageno - 1;
            echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$prevpage'>PREV</a> ";
        } // if

        echo " ( Page $pageno of $lastpage ) ";

        if ($pageno == $lastpage) {
            echo " NEXT LAST ";
        } else {
            $nextpage = $pageno + 1;
            echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$nextpage'>NEXT</a> ";
            echo " <a href='{$_SERVER['PHP_SELF']}?pageno=$lastpage'>LAST</a> ";
        } // if
        // If we have no results, offer a google search as an alternative

        if ($num == 0) {
            echo "<h4>Results</h4>";
            echo "<p>Sorry, your search for: &quot;" . $term . "&quot; returned zero results</p>";

// google
            echo "<p><a href=\"http://www.google.com/search?q="
            . $term . "\" target=\"_blank\" title=\"Look up
  " . $term . " on Google\">Click here</a> to try the
  search on google</p>";
        }


        mysql_close();
        ?>


    </p>
</div>
<table border="1" cellspacing="2" cellpadding="2">
    <tr>
        <th><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">FULL NAME</font></th>
        <th><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">PHONE 1</font></th>
        <th><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">PHONE 2</font></th>
        <th><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">PHYSICAL ADDRESS</font></th>
        <th><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">POSTAL ADDRESS</font></th>
        <th><font face="Arial, Helvetica, sans-serif" color="#FFFFFF">E-MAIL</font></th>
    </tr>

    <?php
        $i = 0;
        while ($i < $num) {

            $f1 = mysql_result($result, $i, "Ind_Id");
            $f12 = mysql_result($result, $i, "FName");
            $f13 = mysql_result($result, $i, "MName");
            $f2 = mysql_result($result, $i, "LName");
            $f3 = mysql_result($result, $i, "Phone1");
            $f4 = mysql_result($result, $i, "Phone2");
            $f5 = mysql_result($result, $i, "Physical_Address");
            $f6 = mysql_result($result, $i, "Postal_Address");
            $f7 = mysql_result($result, $i, "Email");
            $f8 = mysql_result($result, $i, "Street");
            $f9 = mysql_result($result, $i, "District");
            $f10 = mysql_result($result, $i, "Region");
            $f11 = mysql_result($result, $i, "Country");
    ?>

            <tr>        
                <td><font face="Arial, Helvetica, sans-serif"><?php echo $f2; ?></font>
                    <font face="Arial, Helvetica, sans-serif"><?php echo $f12; ?></font>
                    <font face="Arial, Helvetica, sans-serif"><?php echo $f13; ?></font></td>
                <td><font face="Arial, Helvetica, sans-serif"><?php echo $f3; ?></font></td>
                <td><font face="Arial, Helvetica, sans-serif"><?php echo $f4; ?></font></td>
                <td><font face="Arial, Helvetica, sans-serif"><?php echo $f5; ?></font></td>
                <td><font face="Arial, Helvetica, sans-serif"><?php echo $f6; ?></font></td>
                <td><font face="Arial, Helvetica, sans-serif"><?php echo $f7; ?></font></td>
            </tr>        


    <?php
            $i++;
        }
    ?>
</table>
</body>
</html>

搜索:
在里面
名字
姓
电话号码
街头
地区
区域
搜索结果


你不能像在表单和链接中那样发布东西。您需要在每个链接的末尾使用&term=$term,并将$term更改为$term=$\u REQUEST['term']

这可能是因为每次用户单击next/prev时,您的搜索都需要发布到服务器上

更改
$term=$\u POST['term']
$term=$\u GET['term'],然后每当您输出指向下一个/上一个等的链接时,请确保也将术语添加到查询字符串中

printf("<a href='%s?pageno=%d&term=%s'>PREV</a>", $_SERVER['PHP_SELF'], $prevpage, $term);
printf(“,$”服务器['PHP\u SELF',$prevpage,$term);
这样,每次用户单击next/prev时,术语都会发送到服务器

您可能应该考虑在数据库查询中使用类似的库,因为您确实面临注入攻击