Search barre php+mysql "Page not found"

58 Views Asked by At

I've a small issue with this search barre : When I search for the Author or the Session, the search is succesful and everything is fine. But if I search anything in the last box (the Name one) my page is redirected to the site homepage. (with "Page not found" as tab name) I'm really new to php. (and mysql) Is that because I don't give an "action" to the form ?

   <form method="post" action="">
    <table>
    <tbody>

    <tr>
    <td>Author :</td>
    <td><input name="a" type="text" /></td>
    <td>Session :</td>
    <td><input name="nos" type="text" /></td>
    <td>Publication :</td>
    <td><input name="name" type="text" /></td>

    </tr>
    <td>
    <input type="submit" value="Search" class="button" />
    </td>
    </label>
    </tbody>

    </table>
    </form>
    <?php

    $author = '%'.$_REQUEST['a'].'%'; 
    $nos = '%'.$_REQUEST['nos'].'%'; 
    $name = '%'.$_REQUEST['name'].'%'; 



    $mysqli = new mysqli('localhost', 'mydb', 'Prettygoodpwd', 'the table');
    if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
    }


    $sql = 'SELECT AuthorP, NameP
FROM wp_publications
WHERE AuthorP LIKE ?
AND NameOfSessionP LIKE ?
AND NameP LIKE ? ';

    if($stmt = $mysqli->prepare($sql))
    {
        $stmt->bind_param('sss', $author, $nos, $name);
        if($stmt->execute())
        {
            $stmt->store_result();
            if($stmt->num_rows >= 1)
            {
                $resultSet = array();

                $stmt->bind_result($au, $na);
                while($stmt->fetch())
                {
                    $resultSet[] = array('Author' => $au, 'Name' => $na);
                }
            }
        }else{

            echo $stmt->error;
        }
    }else{
        echo $mysqli->error;
    }
    if(is_array($resultSet))
    {
        print_r($resultSet);
    }

    $mysqli -> close();
    ?>

I tried to remove the last box from the search form : "publication". I expected the problem to be on the "name" box afterward but no. The two first search box work still fine.

1

There are 1 best solutions below

0
On BEST ANSWER

Seems like in <td><input name="name" type="text" /></td> name isn't a appropriate variable name.... When i'm changing to nam it works.

I'm sorry for writing an other useless question... But it's like each time the same... I'm stuck for hours trying to correct my stuff, I surrender and ask here. And the problem is solved in few minutes.