Problème de formulaire de recherche

Résolu
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 - 20 sept. 2014 à 23:50
jordane45 Messages postés 38221 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juillet 2024 - 21 sept. 2014 à 00:36
Bonjour,
mon formulaire de recherche me donne pas le résultat souhaité.
quand je met le matricule de quelqu'un pour le retrouver il me donne un autre résultat.

je fais
<?php echo extract($_POST);; ?>
me donne 2 au lieu de 0220

voici mon formulaire :
                   <form  method="post" action="index.php?page=search" style="border-radius: 5px 0px 10px 25px/5px 0px 10px 25px">
                      <table width="240" border="0" align="right" >
                        <tr>
                          <td width="151"><input type="text" name="search" /></td>
                          <td width="79"><input type="submit" name="Submit" value="SEARCH" /></td>
                        </tr>
                      </table>
                  </form>


mon code php .
<?php
include('menu/menu.php');

if(empty($_POST) || empty($_POST['search']))
{
header('Location: index.php?page=NOUVEAU');
}
else
{
extract($_POST);
}
?>
.............

6 réponses

NHenry Messages postés 15143 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 17 juillet 2024 159
20 sept. 2014 à 23:58
echo extract($_POST);

Où est le nom du champ du formulaire ?
jordane45 Messages postés 38221 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juillet 2024 344
20 sept. 2014 à 23:59
Bonjour,

Après avoir saisi : 0220 dans ton input puis cliqué sur ton bouton submit..Tu peux faire un Print_r de POST et nous dire ce qu'il t'affiche ?

if(empty($_POST) || empty($_POST['search']))
	{
	 header('Location: index.php?page=NOUVEAU');
	}
else
	{
          print_r($_POST);
	  extract($_POST);
	}	
?>

msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 1
21 sept. 2014 à 00:04
voici ce que j'obtiens:
Array ( [search] => 0220 [Submit] => SEARCH )
jordane45 Messages postés 38221 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juillet 2024 344
Modifié par jordane45 le 21/09/2014 à 00:15
En même temps... echo de extract($_post).. ne te donnera pas le résultat attendu..c'est sûr...

testes ça ..

 if(empty($_POST) || empty($_POST['search'])){
     header('Location: index.php?page=NOUVEAU');
  }else{
     extract($_POST);
     echo "<br> Print _r(post)=>";
    print_r($_POST);
     echo "<br>extract($ _ POST) => ".extract($_POST);
     echo "<br>search => ".$search;
  }



Ce qui donne comme résultats :

Print _r(post)=>Array ( [search] => 0220 [Submit] => SEARCH )
extract($ _ POST) => 2
search => 0220

...C'est donc directement la variable : $search qu'il te faut utiliser APRES avoir fait un Extract.

Perso je préfère ne pas utiliser cette fonction extract() ... elle ne te permet pas de vérifier si ta variable existe avant de l'utiliser..;

Je préfère faire :

//Recuperation de la variable :
$search = isset($_POST['search'])?$_POST['search']:NULL;

// Utilisation...
if($search){
  echo "<br>Search = ".$search;
}else{
echo "<br>La variable n'existe pas !<br>";
}





Avant de poser une question, merci de lire la charte du site.
Cordialement, Jordane

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
msi79 Messages postés 509 Date d'inscription lundi 24 août 2009 Statut Membre Dernière intervention 2 mai 2023 1
21 sept. 2014 à 00:20
je viens de tester :
//Recuperation de la variable :
$search = isset($_POST['search'])?$_POST['search']:NULL;

// Utilisation...
if($search){
echo "<br>Search = ".$search;
}else{
echo "<br>La variable n'existe pas !<br>";
}
j'obtiens : Search = 0220

mais ma requète n'afiche rien :

voici ma requète :
<?php
$sql = "SELECT *
FROM victime
WHERE numQuest0
LIKE '%$search%'
OR nomV LIKE '%$search%'
OR prenomV LIKE '%$search%'
OR numeroPieceV LIKE '%$search%'
";

......
?>
jordane45 Messages postés 38221 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 17 juillet 2024 344
21 sept. 2014 à 00:36
Ta question initiale est réglée. ..
Là. .tu poses une autre question. ..
C'est pas comme si tu avais déjà posté d'autres questions sur le forum. ..tu en connais les règles non ??

Rejoignez-nous