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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 html : Sélectionner tout - Visualiser dans une fenêtre à part
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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();