<!DOCTYPE html>
<html>
 <head> <!-- Entête HTML -->
    <meta charset="utf-8" />
    <title>Affichage de la table personnes</title>
    <link href="./CSS/MySQL.css" rel="stylesheet" type="text/css" /> 
 </head>
 <body>
   <?php
   //define("WEB_EOL","<br/>");
   include './INCLUDE/MySQL_include_param_dbb.php';
   include './INCLUDE/MySQL_include_sprog_commun_web.php';
   try
   {
    // ----------------------------------------------------
    // --- affichage de la liste complète des personnes ---
    // ----------------------------------------------------
    if (empty($_POST['valider']))
    {
     ?>
     <!--
     ---------------------------------------------------
     --- formulaire de saisie du critère de filtrage ---
     ---------------------------------------------------
     -->
     <!-- <form action="MySQL_PDO_injection_where_Prenom_NoSecure_web.php" method="post"> -->
     <form action="<?php echo $_SERVER['PHP_SELF'];?>" method="post">
      <fieldset>
      <legend>Saisissez les donn&eacute;es pour un filtrage :</legend><br/>
      Entrez le pr&eacute;nom (ex : jean) : <input type="text" name="Prenom" size="150" " /><br/><br/>
      <input type="submit" name="valider" value="Valider le filtrage" />
      <!-- on ajoute le bouton terminer pour terminer la saisie  -->
      <input type="reset" value="Effacer le formulaire" />
      </fieldset>
     </form>
     <?php
    }
    else
    {
     // -------------------------------------------------------------------------
     // --- affichage de la liste des personnes selon le critère de sélection ---
     // -------------------------------------------------------------------------
     // --- récupération de la variable Prenom ---
     $Prenom=$_POST['Prenom'];
     // === connexion de la base de données ===
     $bdd = new PDO($TYPE_DBB.":host=".$SERVEUR.";dbname=".$BASEDD,$LOGIN_ADM,$MDP_ADM,
            array(PDO::ATTR_PERSISTENT => true));
     // --- définition du codage en UTF8 ---    
     $bdd->exec("SET CHARACTER SET utf8");
     // --- exécution de la requête ---
     $requete_SQL="SELECT Nom,Prenom,Age FROM personnes WHERE Prenom='$Prenom'";
     echo "Requete = $requete_SQL".WEB_EOL.WEB_EOL;
     $reponse = $bdd->query($requete_SQL);
     // --- traitement des erreurs de retour sur la requête ---
     if (!$reponse)
        throw new Exception('Problème de requête sur la table.');
     // ---retourne un tableau associatif ---
     $reponse->setFetchMode(PDO::FETCH_ASSOC); 
     // --- boucle de traitement de chaque personne --- 
     $tab_personnes=$reponse->fetchAll();
     // --- affichage des données retournées ---
     affichage_liste_personnes("Personnes ayant comme Pr&eacute;nom = $Prenom",$tab_personnes);
     // --- fermeture de la requête ---
     // --- pour permettre d'autres requêtes ---
     $reponse->closeCursor();
    }
   }
   catch(Exception $e)
   {
     echo "<fieldset>";
     echo "<legend>Erreur d'accès aux données :</legend>".WEB_EOL;
     echo 'Erreur : '.$e->getMessage().WEB_EOL;
     echo "</fieldset>";
   }
   ?>
 </body>
</html>







