0

hello i have a running code the only question is the get function wont get the field i type here's my whole code

index.php

<?php
include_once('includes/dbConnect.php');
?>

<?php

$searchText = htmlspecialchars ($_GET['q']);


$action = (isset($_REQUEST['action'])&& $_REQUEST['action'] !=NULL)?$_REQUEST['action']:'';

if($action == 'ajax'){

    include 'pagination.php'; //include pagination file


    //pagination variables
    $page = (isset($_REQUEST['page']) && !empty($_REQUEST['page']))?$_REQUEST['page']:1;
    $per_page = 5; //how much records you want to show
    $adjacents  = 5; //gap between pages after number of adjacents
    $offset = ($page - 1) * $per_page;

    //Count the total number of row in your table*/
    $count_query   = mysql_query("SELECT COUNT(personid) AS numrows FROM persons");
    $row     = mysql_fetch_array($count_query);
    $numrows = $row['numrows'];
    $total_pages = ceil($numrows/$per_page);
    $reload = 'index.php';

                    //search
        // basic SQL-injection protection


    //main query to fetch the data
        // query with simple search criteria
$query = mysql_query("SELECT * FROM persons WHERE FirstName LIKE '%" 
           . $searchText . "%' ORDER by RAND() LIMIT $offset,$per_page");

    //loop through fetched data



        while($result = mysql_fetch_array($query)){
        $id = $result['PersonID'];


                                      echo "<div class= content > ";

                                      echo"<img height=100 width=100 src='upload/". $result['Image'] ."'/>";
                                      echo "<font color='black'>". $result['FirstName']. "</font></br>";



                                      echo "</div>";


}
echo paginate($reload, $page, $total_pages, $adjacents);
} else{     
?>


<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Simple Ajax Pagination With PHP And MySql</title>
<script type="text/javascript" src="jquery-1.5.2.min.js"></script>
<link media="screen" href="style.css" type="text/css" rel="stylesheet">
<script type="text/javascript">
    $(document).ready(function(){
        load(1);
    });

    function load(page){
        $("#loader").fadeIn('slow');
        $.ajax({
            url:'index.php?action=ajax&page='+page,
            success:function(data){
                $(".outer_div").html(data).fadeIn('slow');
                $("#loader").fadeOut('slow');
            }
        })

        }
</script>
</head>
<body>



<div id="loader"><img src="loader.gif"></div>

<div class="content"><form action='' method='POST'> <input type='text' name='q' /> <input type='submit' name='submit' value='Search' /> </p> </form></div>

<div class="outer_div"></div>


</body>
</html>
<?php

}?>

the error it shows is Notice: Undefined index: q in C:\xampp\htdocs\paging\index.php on line 7
but i have the form in the same page here's my pagination

when i change $searchText = htmlspecialchars ($_GET['q']);

to ` $searchText = 'ermel';

it works the only problem if it's not like that it don't heres a print screen
![9ba8006409794664521ac9ce8c2d298a](/attachments/large/4/9ba8006409794664521ac9ce8c2d298a.png "9ba8006409794664521ac9ce8c2d298a")

thanks for the comments and suggestions!

Edited by ej.p.lopez: additional informations

Attachments ex.png 93.39 KB
2
Contributors
1
Reply
22
Views
4 Years
Discussion Span
Last Post by Zagga
0

Hi.
There are a couple of reasons you are getting an error.
Firstly, your form is using the method POST but you are trying to retrieve the value using GET.
Secondly (after you fix the first problem), $_GET['q'] isn't set until after you submit the form. Enclose the PHP in an if statement so it only executes if(isset($_GET['q']))

This topic has been dead for over six months. Start a new discussion instead.
Have something to contribute to this discussion? Please be thoughtful, detailed and courteous, and be sure to adhere to our posting rules.