Where clause

Résolu/Fermé
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021 - 18 juil. 2020 à 18:20
jordane45 Messages postés 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 - 19 juil. 2020 à 12:09
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>

4 réponses

NHenry Messages postés 15113 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 22 avril 2024 331
18 juil. 2020 à 19:49
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 vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 18 juil. 2020 à 20:53
En faite c’est une requête préparée j’essaye de faire
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477
18 juil. 2020 à 21:53
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 vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 19 juil. 2020 à 10:21
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
19 juil. 2020 à 10:01
Bonjour

Pour tes écho.. il faut utiliser ta variable $vospost et non pas $idm
0
ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 19 juil. 2020 à 10:22
C’est fait mais quand j’envoie le formulaire rien ne s’affiche sa devient une page vierge
0
yg_be Messages postés 22730 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 avril 2024 1 477 > ir_1997 Messages postés 97 Date d'inscription vendredi 12 juin 2020 Statut Membre Dernière intervention 13 juin 2021
Modifié le 19 juil. 2020 à 10:29
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 38145 Date d'inscription mercredi 22 octobre 2003 Statut Modérateur Dernière intervention 25 avril 2024 4 650
Modifié le 19 juil. 2020 à 12:09
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