Where clause

Résolu
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention   -  
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   -
salut tous le monde enfaîte j'aimerai faire un where clause avec un formulaire la je sais pas c'est quoi le soucie .......
merci d'avance


<?php if(isset($_POST['formvosart'])) {
  
   $idm = htmlspecialchars($_POST['idm']); 
   $requser = $bdd->prepare('SELECT * FROM articles WHERE idm = ?');
   $requser->execute(array($idm));
   $vospost = $requser->fetch();
  ?>
  <?php
             echo $idm['pseudo']; 
             echo $idm['article'];
             echo $idm['prix'];
    ?>
<?php }  ?>

<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
   </head>
   <body>
      <form method="get" action="">

         <input type="text" name="idm" >
         <input type="submit" name="vosart" >
         
      
</form>
   </body>
</html>
A voir également:

4 réponses

NHenry Messages postés 15221 Date d'inscription   Statut Modérateur Dernière intervention   366
 
Pourquoi ru utilises htmlspecialchars ?
$idm = htmlspecialchars($_POST['idm']);

Si c'est pour exclure les caratères non désirés, ce n'est pas somme ça qu'il faut faire et dans le cas d'une requête préparée, c'est inutile.
0
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
En faite c’est une requête préparée j’essaye de faire
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   Ambassadeur 1 584
 
bonjour, quel est le symptôme?
à toi de nous décrire le soucis, nous pourrons ensuite t'aider à en découvrir la source.
0
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
J’aimerais faire une requête préparer de where clause dépendant de l’input de formulaire

Le soucie quand j’envoie le formulaire rien ne s’affiche sa devient une page vierge
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Bonjour

Pour tes écho.. il faut utiliser ta variable $vospost et non pas $idm
0
ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
C’est fait mais quand j’envoie le formulaire rien ne s’affiche sa devient une page vierge
0
yg_be Messages postés 23541 Date d'inscription   Statut Contributeur Dernière intervention   1 584 > ir_1997 Messages postés 97 Date d'inscription   Statut Membre Dernière intervention  
 
peut-être ajouter
echo "bonjour";
avant le premier if.

bizarre d'écrire
form method="get"
et d'ensuite traiter le retour via
$_POST()
0
jordane45 Messages postés 38486 Date d'inscription   Statut Modérateur Dernière intervention   4 752
 
Déjà, active l'affichage des erreurs PHP ainsi que l'affichage des erreurs PDO
(et place CHAQUE requête dans un bloc TRY / CATCH)
Comme expliqué ici :
https://forums.commentcamarche.net/forum/affich-37584941-php-pdo-gerer-les-erreurs

Ensuite, applique les conseils donnés ici : https://forums.commentcamarche.net/forum/affich-37584947-php-gestion-des-erreurs-debogage-et-ecriture-du-code


Ce, au niveau du bout de code que tu nous montres, ça devrait donner

<?php
//affichage des erreurs PHP
error_reporting(E_ALL);
ini_set('display_errors', TRUE);
ini_set('display_startup_errors', TRUE);

//connexion à la bdd //
// ... ton code de connexion avec activation des erreurs PDO
//.....
//.....


//la suite de ton code :

//récupération PROPRE des variables AVANT de les utiliser :
$idm = !empty($_POST['idm']) ? $_POST['idm'] : NULL;

//traitemetn du formulaire
 if(isset($_POST['vosart'])) {
 
  //préparation de la requête et des variables
   $sql = "SELECT * FROM articles WHERE idm = ?";
   $datas = array($idm);
  //Execution de la requete
  try{
    $requete = $bdd -> prepare($sql) ;
    $requete->execute($datas) ;
    $vospost = $requete->fetch();
  }catch(Exception $e){
    // en cas d'erreur :
     echo " Erreur ! ".$e->getMessage();
     echo " Les datas : " ;
    print_r($datas);
  }
  
  if(!empty($vospost)){
    echo $vospost['pseudo']; 
    echo $vospost['article'];
    echo $vospost['prix'];
  }
}
?>

<html>
   <head>
      <title>TUTO PHP</title>
      <meta charset="utf-8">
   </head>
   <body>
      <form method="post" action="">
         <input type="text" name="idm" >
         <input type="submit" name="vosart" >
      </form>
   </body>
</html>



0