moteur de recherche et trait d'union

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : moteur de recherche et trait d'union

Re: moteur de recherche et trait d'union

par fersayn147 » 16 mai 2010, 12:53

Oui le formulaire pointe au bon endroit.

Je ne comprend pas d'ou ça vient :(

Re: moteur de recherche et trait d'union

par Nours312 » 16 mai 2010, 02:09

dans la condition :
IF(isset($_GET['show']) && $_GET['show'] == 'all' && strlen($_POST['recherche']) ==  1) {
je ne trouve pas d'où tu récupère $_GET['show'] dans l'action de ton formulaire ...

le formulaire pointe t-il bien au bon endroit ?
<form action="site" method="post">
que contient : $content['mots'] ? et est-ce que ton contenu est différent de ce que tu as entré dans le champs de formulaire ? auquel cas, quelle est cette différence ?

Re: moteur de recherche et trait d'union

par fersayn147 » 15 mai 2010, 22:20

Voici le formulaire associé:

Code : Tout sélectionner

<form action="site" method="post"> <input type="text" name="recherche" value="<?=stripslashes($_POST['recherche']);?>" style="border: 1px solid #9CBAD6; background: white; width: 120px"> &nbsp; <input type="submit" value="Rechercher" style="border: 1px solid #9CBAD6; background: white; width: 80px"> </p> </form> <hr width="649px" color="#AD6FA2" align="left"></hr> <div class="results"> <p><?=$content['resultatRecherche'];?></p> </div>
mais ça ne marche pas non plus.... :(

Re: moteur de recherche et trait d'union

par fersayn147 » 15 mai 2010, 19:44

Comment faire pour envoyer le formulaire en POST ?

j'ai fait ca:
/* la recherche */
$content['mots'] = 'Recherche: '.stripslashes($_POST['recherche']);
$content['resultatRecherche'] = '';
IF(isset($_GET['show']) && $_GET['show'] == 'all' && strlen($_POST['recherche']) == 1) {
$sql = "select id, mots,article from materiel_medical where UPPER(LEFT(article,1)) = '".strtoupper(addslashes($_POST['recherche']))."'ORDER by mots ";
} else {
$sql = "select id, mots,article from materiel_medical where UPPER(article) = '".strtoupper(addslashes($_POST['recherche']))."' OR UPPER(article) LIKE '%".strtoupper(addslashes($_POST['recherche']))."' OR UPPER(article) LIKE '".strtoupper(addslashes($_POST['recherche']))."%' OR UPPER(article) LIKE '%".strtoupper(addslashes($_POST['recherche']))."%' ";
}
$resultats = mysql_query($sql);
while($res = mysql_fetch_array($resultats)) {
$content['resultatRecherche'] .= '<h3><a href="site?id='.$res['id'].'">'.stripslashes($res['mots']).'</h3></a><br>'.stripslashes($res['article']).'';
}
IF(mysql_num_rows($resultats) == 0) {
$content['resultatRecherche'] = '<li>Pas de résulat. Essayez avec d\'autres mots clés. </li>';
}
C'est pas ça?
:(

Re: moteur de recherche et trait d'union

par Nours312 » 15 mai 2010, 19:15

J'ai essayé ça ne marche pas:
heuu ... c'est quoi qui marche pas ? ton formulaire envoi en post ? sinon, ça peux pas !

Re: moteur de recherche et trait d'union

par @rthur » 15 mai 2010, 19:14

Modération :
Les "up" sont interdits sur PHPFrance.

Si tu n'as pas obtenu de réponse, c'est (au choix) :
- que ta question est mal formulée : reformule-la différemment ;
- que personne ne connaît la réponse ici : faire un "up" ne te donnera pas davantage de résultats ;
- que la réponse demandée exige un travail important que personne ne va faire à ta place ;
- que trop peu de temps s'est écoulé depuis ton précédent message pour qu'un membre ait pu y répondre.

Merci de prendre le temps de lire les règlements.

Re: moteur de recherche et trait d'union

par fersayn 147 » 15 mai 2010, 18:31

Personne pour m'aider?

Re: moteur de recherche et trait d'union

par fersayn 147 » 15 mai 2010, 13:51

J'ai essayé ça ne marche pas:
/* la recherche */
$content['mots'] = 'Recherche: '.stripslashes($_POST['recherche']);
$content['resultatRecherche'] = '';
IF(isset($_GET['show']) && $_GET['show'] == 'all' && strlen($_POST['recherche']) == 1) {
$sql = "select id, mots,article from materiel_medical where UPPER(LEFT(article,1)) = '".strtoupper(addslashes($_POST['recherche']))."'ORDER by mots ";
} else {
$sql = "select id, mots,article from materiel_medical where UPPER(article) = '".strtoupper(addslashes($_POST['recherche']))."' OR UPPER(article) LIKE '%".strtoupper(addslashes($_POST['recherche']))."' OR UPPER(article) LIKE '".strtoupper(addslashes($_POST['recherche']))."%' OR UPPER(article) LIKE '%".strtoupper(addslashes($_POST['recherche']))."%' ";
}
$resultats = mysql_query($sql);
while($res = mysql_fetch_array($resultats)) {
$content['resultatRecherche'] .= '<h3><a href="site?id='.$res['id'].'">'.stripslashes($res['mots']).'</h3></a><br>'.stripslashes($res['article']).'';
}
IF(mysql_num_rows($resultats) == 0) {
$content['resultatRecherche'] = '<li>Pas de résulat. Essayez avec d\'autres mots clés. </li>';
}

Re: moteur de recherche et trait d'union

par Nours312 » 15 mai 2010, 11:56

salut :: t'as envisager de passer ton formulaire en POST au lieu de l'envoyer en GET ?
sinon, il faudrait que tu fasse un traitement JS pour que ton champs soit transférer sans espace !...
puis ensuite, tu effectue un traitement inverse (restauration de l'espace) lors de la requête ..

Re: moteur de recherche et trait d'union

par fersay147 » 15 mai 2010, 11:23

Bonjour,
Voici le code de la recherche:
/* la recherche */
$content['mots'] = 'Recherche: '.stripslashes($_GET['recherche']);
$content['resultatRecherche'] = '';
if(isset($_GET['show']) && $_GET['show'] == 'all' && strlen($_GET['recherche']) == 1) {
$sql = "select id, mots,article from materiel_medical where UPPER(LEFT(article,1)) = '".strtoupper(addslashes($_GET['recherche']))."'ORDER by mots ";
} else {
$sql = "select id, mots,article from materiel_medical where UPPER(article) = '".strtoupper(addslashes($_GET['recherche']))."' OR UPPER(article) LIKE '%".strtoupper(addslashes($_GET['recherche']))."' OR UPPER(article) LIKE '".strtoupper(addslashes($_GET['recherche']))."%' OR UPPER(article) LIKE '%".strtoupper(addslashes($_GET['recherche']))."%' ";
}
$resultats = mysql_query($sql);
while($res = mysql_fetch_array($resultats)) {
$content['resultatRecherche'] .= '<h3><a href="site?id='.$res['id'].'">'.stripslashes($res['mots']).'</h3></a><br>'.stripslashes($res['article']).'';
}
if(mysql_num_rows($resultats) == 0) {
$content['resultatRecherche'] = '<li>Pas de résulat. Essayez avec d\'autres mots clés. </li>';
}
or si je cherche un mot ça va...mais si je recherche genre: table ronde; il va me donner table-ronde et pas table+ronde !?

Merci de ton aide

Re: moteur de recherche et trait d'union

par @rthur » 15 mai 2010, 11:19

Bonjour,

Il nous faudrait un petit peu de code pour trouver d'où vient ton problème...

moteur de recherche et trait d'union

par fersayn247 » 15 mai 2010, 10:56

Bonjour,

J'ai un petit moteur de recherche.
lorsque je recherche trait union:

Au lieu de chercher trait+union, il me retourne: trait-union.

Je n'arrive pas a trouver la solution pour qu'il retourne trait+union.

Quelqu'un a une idée?

Merci de votre aide.