Moteur de recherche méthode GET
Bonjour, j'ai implémente un moteur de recherche pour mon site. Tout va bien sauf que lorsque je lance la recherche dans la barre d'adresse de mon navigateur j'ai des critères en plus ajoutés par le navigateur que je comprend pas. Je pense qu'il a une incidence sur mes résultats puisque le nombre d'éléments trouvé est beaucoup trop grand.
Dans la barre d'adresse:
Code:
http://127.0.0.1/sciences-et-progres/rechercher.php?recherche=mine&x=9&y=15
NB: En rouge les ajouts (x=9&y=15) comment les enlevés?
Code Html
Code:
1 2 3 4 5 6 7 8 9 10 11
| <form action="rechercher.php" method="GET">
<table width="99%" border="0" cellspacing="0" cellpadding="0">
<tr>
<td>
<input type="text" name="recherche" size="30" id="recherche" value="Rechercher dans le site" onblur="texteParDefaut('prisefocus')" onfocus="texteParDefaut('prisefocus')" />
<script type="text/javascript">texteParDefaut('pertefocus')</script>
</td>
<td><input type="image" src="images/bt-search.png" class="submit"/></td>
</tr>
</table>
</form> |
Code Php
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| if(isset($_GET['recherche']) && ($_GET['recherche'] != "")){
$q = htmlentities($_GET['recherche']);
$s = explode(" ", $q);
$query = ("SELECT * FROM categoriearticle, article"); //WHERE titreart LIKE :mot OR article LIKE :mot");
$i = 0;
foreach($s as $mot){
if(strlen($mot) > 3){
if($i==0){
$query .= " WHERE ";
}
else {
$query .= " OR ";
}
$query .= " categoriearticle.idcateg = article.categArt AND titreart LIKE :mot OR article LIKE :mot ";
$i++;
}
}
$query = $connect_db->prepare($query);
$query->execute(array('mot'=> '%'.$mot.'%', 'mot'=> '%'.$mot.'%'));
$total = $query->rowCount(); |