Problème de formulaire de recherche [Résolu]

Messages postés
496
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
8 novembre 2019
- - Dernière réponse : jordane45
Messages postés
27059
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2019
- 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);
}
?>
.............
Afficher la suite 

6 réponses

Messages postés
14600
Date d'inscription
vendredi 14 mars 2003
Statut
Modérateur
Dernière intervention
12 décembre 2019
137
0
Merci
echo extract($_POST);

Où est le nom du champ du formulaire ?
Commenter la réponse de NHenry
Messages postés
27059
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2019
318
0
Merci
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);
	}	
?>

Commenter la réponse de jordane45
Messages postés
496
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
8 novembre 2019
0
Merci
voici ce que j'obtiens:
Array ( [search] => 0220 [Submit] => SEARCH )
Commenter la réponse de msi79
Messages postés
27059
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2019
318
0
Merci
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
Commenter la réponse de jordane45
Messages postés
496
Date d'inscription
lundi 24 août 2009
Statut
Membre
Dernière intervention
8 novembre 2019
0
Merci
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%'
";

......
?>
Commenter la réponse de msi79
Messages postés
27059
Date d'inscription
mercredi 22 octobre 2003
Statut
Modérateur
Dernière intervention
14 décembre 2019
318
0
Merci
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 ??

Commenter la réponse de jordane45