Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
2464 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire en php

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Formulaire en php

n°2258953
dynaaas
Posté le 28-05-2015 à 11:07:22  profilanswer
 

Bonjour,
 
J'ai un petit soucis dans ma requete SQL, j'essaie de faire un formulaire d'ajout de CV dans ma base de donnée puis qui s'affiche dans un tableau.
 
Actuellement j'ai réussis le tableau qui affiche les éléments dans la base de donnée :
http://nsa37.casimages.com/img/2015/05/28/mini_150528110008970367.jpg
 
Mais pour l'ajout de CV il me dise qu'il y a une erreur dans la requête voici le code :  

Code :
  1. <div id="contenu">
  2.     <h2>Gestion des négociants</h2>
  3.     <a href="index.php?page=1.php" title="Gestion des négociants">
  4.         Gestion des négociants
  5.     </a>
  6.     <br /><br />
  7.     <?php
  8.       // connexion à  la base
  9.         $cnx = connectDB();
  10.         // initialisation des variables
  11.         $strCV = '';
  12.         $strNom = '';
  13.         $strPrenom = '';
  14.         $intMobile = '';
  15.         $strAdresse = '';
  16.         $strVille = '';
  17.         $strEtude = '';
  18.         $strExperience ='';
  19.         $strAge = '';
  20.         $strDisponible = '';
  21.         $strDepot = '';
  22.         $strPermis ='';
  23.        
  24.         // variables pour la gestion des erreurs
  25.         $tabErreurs = array();
  26.         $hasErrors = false;
  27.         $ajoutOK = false;
  28.         // tests de gestion du formulaire
  29.         if (isset($_POST["cmdFonction"]))
  30.         {
  31.             // test zones obligatoires
  32.             if (!empty($_POST["txtCV"]) and
  33.                 !empty($_POST["txtNom"]) and
  34.                 !empty($_POST["txtPrenom"]) and
  35.                 !empty($_POST["txtMobile"]) and
  36.                 !empty($_POST["txtAdresse"]) and
  37.                 !empty($_POST["txtVille"]) and
  38.                 !empty($_POST["txtEtude"]) and
  39.                 !empty($_POST["txtExperience"]) and
  40.                 !empty($_POST["txtAge"]) and
  41.                 !empty($_POST["txtDisponible"]) and
  42.                 !empty($_POST["txtDepot"]) and
  43.                 !empty($_POST["txtPermis"]))
  44.             {
  45.                 // récupération des valeurs saisies
  46.                 $strCV = htmlentities($_POST["txtCV"]);
  47.                 $strNom =  htmlentities($_POST["txtNom"]);
  48.                 $strPrenom =  htmlentities($_POST["txtPrenom"]);
  49.                 $strMobile = htmlentities($_POST["txtMobile"]);
  50.                 $strAdresse = htmlentities($_POST["txtAdresse"]);
  51.                 $strVille = htmlentities($_POST["txtVille"]);
  52.                 $strEtude = htmlentities($_POST["txtEtude"]);
  53.                 $strExperience = htmlentities($_POST["txtExperience"]);
  54.                 $strAge = htmlentities($_POST["txtAge"]);
  55.                 $strDisponible = htmlentities($_POST["txtDisponible"]);
  56.                 $strDepot = htmlentities($_POST["txtDepot"]);
  57.                 $strPermis = htmlentities($_POST["txtPermis"]);
  58.                 $ajoutOK = true;
  59.             }
  60.             else
  61.             { 
  62.                 $hasErrors = true;
  63.                 if (empty($_POST["txtCV"]))
  64.                 {
  65.                     $tabErreurs["txtCV"] =
  66.                             "Le numéro CV doit être renseignée !";
  67.                 }
  68.                 if (empty($_POST["txtNom"]))
  69.                 {
  70.                     $tabErreurs["txtNom"] =
  71.                             "Le Nom doit être renseignée !";
  72.                 }
  73.                 if (empty($_POST["txtPrenom"]))
  74.                 {
  75.                     $tabErreurs["txtPrenom"] =
  76.                             "Le prenom doit être renseigné !";
  77.                 }
  78.                 if (empty($_POST["txtMobile"]))
  79.                 {
  80.                     $tabErreurs["txtMobile"] =
  81.                             "Le mobile doit être renseignée !";
  82.                 }
  83.                 if (empty($_POST["txtAdresse"]))
  84.                 {
  85.                     $tabErreurs["txtAdresse"] =
  86.                             "L'adresse doit être renseignée !";
  87.                 }
  88.                 if (empty($_POST["txtVille"]))
  89.                 {
  90.                     $tabErreurs["txtVille"] =
  91.                             "La ville doit être renseignée !";
  92.                 }
  93.                 if (empty($_POST["txtEtude"]))
  94.                 {
  95.                     $tabErreurs["txtEtude"] =
  96.                             "Les études doivent être renseignée !";
  97.                 }
  98.                 if (empty($_POST["txtExperience"]))
  99.                 {
  100.                     $tabErreurs["txtExperience"] =
  101.                             "L'experience doit être renseignée !";
  102.                 }
  103.                 if (empty($_POST["txtAge"]))
  104.                 {
  105.                     $tabErreurs["txtAge"] =
  106.                             "L'âge doit être renseignée !";
  107.                 }
  108.                 if (empty($_POST["txtDisponible"]))
  109.                 {
  110.                     $tabErreurs["txtDisponible"] =
  111.                             "La date de disponibilité doit être renseignée !";
  112.                 }
  113.                 if (empty($_POST["txtDepot"]))
  114.                 {
  115.                     $tabErreurs["txtDepot"] =
  116.                             "La date du dépot du cv doit être renseignée !";
  117.                 }
  118.                 if (empty($_POST["txtPermis"]))
  119.                 {
  120.                     $tabErreurs["txtPermis"] =
  121.                             "Titulaire du permis doit être renseignée !";
  122.                 }
  123.             }
  124.         }
  125.         // affichage des erreurs
  126.         if($hasErrors)
  127.         {
  128.             foreach ($tabErreurs as $erreur)
  129.             {
  130.                 echo '<span class="erreur">' . $erreur . '</span>';
  131.             }
  132.         }
  133.         // affichage du formulaire
  134.         if (!$ajoutOK)
  135.         {
  136.             ?>
  137.             <form action="index.php?page=31" method="post">
  138.                 <div class="corpsForm">
  139.                     <fieldset>
  140.                         <legend>Ajouter un négociant</legend>
  141.                         <table>
  142.                             <tr>
  143.                                 <td>
  144.                                     <label for="txtCV">
  145.                                         Num CV
  146.                                     </label>
  147.                                 </td>
  148.                                 <td>
  149.                                     <input type="text" id="txtCV"
  150.                                         name="txtCV"
  151.                                         size="50" maxlength="50"
  152.                                         value=""
  153.                                     />
  154.                                 </td>
  155.                             </tr>
  156.                             <tr>
  157.                                 <td>
  158.                                     <label for="txtNom">
  159.                                         Nom
  160.                                     </label>
  161.                                 </td>
  162.                                 <td>
  163.                                     <input type="text" id="txtNom"
  164.                                         name="txtNom"
  165.                                         size="50" maxlength="50"
  166.                                         value=""
  167.                                     />
  168.                                 </td>
  169.                             </tr>
  170.                             <tr>
  171.                                 <td>
  172.                                     <label for="txtPrenom">
  173.                                         Prenom
  174.                                     </label>
  175.                                 </td>
  176.                                 <td>
  177.                                     <input type="text" id="txtPrenom"
  178.                                         name="txtPrenom"
  179.                                         size="50" maxlength="50"
  180.                                         value=""
  181.                                     />
  182.                                 </td>
  183.                             </tr>
  184.                             <tr>
  185.                                 <td>
  186.                                     <label for="txtMobile">
  187.                                         Mobile
  188.                                     </label>
  189.                                 </td>
  190.                                 <td>
  191.                                     <input type="text" id="txtMobile"
  192.                                         name="txtMobile"
  193.                                         size="50" maxlength="50"
  194.                                         value=""
  195.                                     />
  196.                                 </td>
  197.                             </tr>
  198.                             <tr>
  199.                                 <td valign="top">
  200.                                     <label for="txtAdresse">
  201.                                         Adresse
  202.                                     </label>
  203.                                 </td>
  204.                                 <td>
  205.                                     <textarea id="txtAdresse"
  206.                                         name="txtAdresse"
  207.                                         rows="5" cols="80"></textarea>
  208.                                 </td>
  209.                             </tr>
  210.                             <tr>
  211.                                 <td>
  212.                                     <label for="txtVille">
  213.                                         Ville
  214.                                     </label>
  215.                                 </td>
  216.                                 <td>
  217.                                     <input type="text" id="txtVille"
  218.                                         name="txtVille"
  219.                                         size="50" maxlength="50"
  220.                                         value=""
  221.                                     />
  222.                                 </td>
  223.                             </tr>
  224.                             <tr>
  225.                                 <td>
  226.                                     <label for="txtEtude">
  227.                                         Etude
  228.                                     </label>
  229.                                 </td>
  230.                                 <td>
  231.                                     <input type="text" id="txtEtude"
  232.                                         name="txtEtude"
  233.                                         size="50" maxlength="50"
  234.                                         value=""
  235.                                     />
  236.                                 </td>
  237.                             </tr>
  238.                             <tr>
  239.                                 <td>
  240.                                     <label for="txtExperience">
  241.                                         Experience
  242.                                     </label>
  243.                                 </td>
  244.                                 <td>
  245.                                     <input type="text" id="txtExperience"
  246.                                         name="txtExperience"
  247.                                         size="50" maxlength="50"
  248.                                         value=""
  249.                                     />
  250.                                 </td>
  251.                             </tr>
  252.                             <tr>
  253.                                 <td>
  254.                                     <label for="txtAge">
  255.                                         Age
  256.                                     </label>
  257.                                 </td>
  258.                                 <td>
  259.                                     <input type="text" id="txtAge"
  260.                                         name="txtAge"
  261.                                         size="50" maxlength="50"
  262.                                         value=""
  263.                                     />
  264.                                 </td>
  265.                             </tr>
  266.                             <tr>
  267.                                 <td>
  268.                                     <label for="txtDisponible">
  269.                                         Disponible a partir du
  270.                                     </label>
  271.                                 </td>
  272.                                 <td>
  273.                                     <input type="text" id="txtDisponible"
  274.                                         name="txtDisponible"
  275.                                         size="50" maxlength="50"
  276.                                         value=""
  277.                                     />
  278.                                 </td>
  279.                             </tr>
  280.                             <tr>
  281.                                 <td>
  282.                                     <label for="txtDepot">
  283.                                         Depot
  284.                                     </label>
  285.                                 </td>
  286.                                 <td>
  287.                                     <input type="text" id="txtDepot"
  288.                                         name="txtDepot"
  289.                                         size="50" maxlength="50"
  290.                                         value=""
  291.                                     />
  292.                                 </td>
  293.                             </tr>
  294.                             <tr>
  295.                                 <td>
  296.                                     <label for="txtNom">
  297.                                         Permis
  298.                                     </label>
  299.                                 </td>
  300.                                 <td>
  301.                                     <input type="text" id="txtPermis"
  302.                                         name="txtPermis"
  303.                                         size="50" maxlength="50"
  304.                                         value=""
  305.                                     />
  306.                                 </td>
  307.                             </tr>
  308.                         </table>
  309.                     </fieldset>
  310.                 </div>
  311.                 <div class="piedForm">
  312.                     <p>
  313.                         <input id="cmdFonction" name="cmdFonction"
  314.                                type="submit"
  315.                                value="Ajouter" size="15"
  316.                         />
  317.                     </p>
  318.                 </div>
  319.             </form>
  320.         <?php
  321.         }
  322.         else
  323.         {
  324.             // connexion à  la base de données
  325.             $cnx = connectDB();
  326.             // ajout dans la base de données
  327.             $strSQL = "INSERT INTO `apef_services`.`gestion_des_cv` (`CV`, `Nom`, `Prenom`, `Mobile`, `Adresse`, `Ville`, `Etude`,"
  328.                     . " `Experience`, `Age`, `Disponible`, `Depot_du_CV`, `Permis`) VALUES ('"
  329.                     . $strCV ."',"
  330.         . $strNom ."',"
  331.         . $strPrenom ."',"
  332.         . $intMobile ."',"
  333.         . $strAdresse ."',"
  334.         . $strVille ."',"
  335.         . $strEtude ."',"
  336.         . $strExperience ."',"
  337.         . $strAge ."',"
  338.         . $strDisponible ."',"
  339.         . $strDepot ."',"
  340.         . $strPermis ."',"
  341.                     ." )";
  342.            
  343.            
  344.             }
  345.              if (execSQL($strSQL))
  346.             {
  347.                 echo 'Le négociant a été ajouté';
  348.             }
  349.             disconnectDB($cnx);
  350.        
  351.     ?>
  352. </div>


 
Et voici la base de donnée :
http://nsa37.casimages.com/img/2015/05/28/mini_150528110124446519.jpg
 
Je ne trouves vraiment pas mon erreur j'aurais besoin d'une petite aide.  
Merci a vous !

mood
Publicité
Posté le 28-05-2015 à 11:07:22  profilanswer
 

n°2258980
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 28-05-2015 à 16:06:35  profilanswer
 

Salut,
As-tu affiché ta requête avant de l'exécuter ? j'ai l'impression qu'il doit y avoir un pb d'apostrophes dedans :??:


---------------
NewsletTux - outil de mailing list en PHP MySQL
n°2259115
noisetteoa​ddedia
Posté le 29-05-2015 à 22:50:16  profilanswer
 

Bonjour !
je pense qu'il faut enlever la virgule après $strpermis ligne 340 :)
dis nous si ca change quelque chose

n°2259171
dynaaas
Posté le 31-05-2015 à 12:57:55  profilanswer
 

Bonjour,
 
Non sa ne change rien ^^

n°2259188
scvo0ne
Posté le 31-05-2015 à 20:52:54  profilanswer
 

Comme demandé, rajoute un echo $strSQL; et poste le résultat. Visiblement il manque un paquet d'apostrophes

n°2259193
noisetteoa​ddedia
Posté le 01-06-2015 à 00:00:33  profilanswer
 

Il manque un apostrophe après chaque virgule dans ta liste de variable :
$strNom ."',"
doit etre  
$strNom ."','"

n°2259212
dynaaas
Posté le 01-06-2015 à 10:05:11  profilanswer
 

Bonjour,
 
J'ai totalement changé la façon de faire et cela marche j'aurais quelque question, comment faire pour que le numéro CV se mette automatiquement c'est a dire 1,puis 2, 3 ect ... Et dans le formulaire HTML mettre a cocher oui ou non et que cela  
 
Voici le nouveau code
 

Code :
  1. <div id="contenu">
  2.     <h2>Gestion des négociants</h2>
  3.     <a href="index.php?page=1.php" title="Gestion des négociants">
  4.         Gestion des négociants
  5.     </a>
  6.     <br /><br />
  7.    
  8.  
  9.         <form action="index.php?page=31" method="post">
  10.                 <div class="corpsForm">
  11.                     <fieldset>
  12.                         <legend>Ajouter un négociant</legend>
  13.                         <table>
  14.                             <tr>
  15.                                 <td>
  16.                                     <label for="txtCV">
  17.                                         Num CV
  18.                                     </label>
  19.                                 </td>
  20.                                 <td>
  21.                                     <input type="text" id="txtCV"
  22.                                         name="txtCV"
  23.                                         size="50" maxlength="50"
  24.                                         value=""
  25.                                     />
  26.                                 </td>
  27.                             </tr>
  28.                             <tr>
  29.                                 <td>
  30.                                     <label for="txtNom">
  31.                                         Nom
  32.                                     </label>
  33.                                 </td>
  34.                                 <td>
  35.                                     <input type="text" id="txtNom"
  36.                                         name="txtNom"
  37.                                         size="50" maxlength="50"
  38.                                         value=""
  39.                                     />
  40.                                 </td>
  41.                             </tr>
  42.                             <tr>
  43.                                 <td>
  44.                                     <label for="txtPrenom">
  45.                                         Prenom
  46.                                     </label>
  47.                                 </td>
  48.                                 <td>
  49.                                     <input type="text" id="txtPrenom"
  50.                                         name="txtPrenom"
  51.                                         size="50" maxlength="50"
  52.                                         value=""
  53.                                     />
  54.                                 </td>
  55.                             </tr>
  56.                             <tr>
  57.                                 <td>
  58.                                     <label for="txtMobile">
  59.                                         Mobile
  60.                                     </label>
  61.                                 </td>
  62.                                 <td>
  63.                                     <input type="text" id="txtMobile"
  64.                                         name="txtMobile"
  65.                                         size="50" maxlength="50"
  66.                                         value=""
  67.                                     />
  68.                                 </td>
  69.                             </tr>
  70.                             <tr>
  71.                                 <td valign="top">
  72.                                     <label for="txtAdresse">
  73.                                         Adresse
  74.                                     </label>
  75.                                 </td>
  76.                                 <td>
  77.                                     <textarea id="txtAdresse"
  78.                                         name="txtAdresse"
  79.                                         rows="5" cols="80"></textarea>
  80.                                 </td>
  81.                             </tr>
  82.                             <tr>
  83.                                 <td>
  84.                                     <label for="txtVille">
  85.                                         Ville
  86.                                     </label>
  87.                                 </td>
  88.                                 <td>
  89.                                     <input type="text" id="txtVille"
  90.                                         name="txtVille"
  91.                                         size="50" maxlength="50"
  92.                                         value=""
  93.                                     />
  94.                                 </td>
  95.                             </tr>
  96.                             <tr>
  97.                                 <td>
  98.                                     <label for="txtEtude">
  99.                                         Etude
  100.                                     </label>
  101.                                 </td>
  102.                                 <td>
  103.                                     <input type="text" id="txtEtude"
  104.                                         name="txtEtude"
  105.                                         size="50" maxlength="50"
  106.                                         value=""
  107.                                     />
  108.                                 </td>
  109.                             </tr>
  110.                             <tr>
  111.                                 <td>
  112.                                     <label for="txtExperience">
  113.                                         Experience
  114.                                     </label>
  115.                                 </td>
  116.                                 <td>
  117.                                     <input type="text" id="txtExperience"
  118.                                         name="txtExperience"
  119.                                         size="50" maxlength="50"
  120.                                         value=""
  121.                                     />
  122.                                 </td>
  123.                             </tr>
  124.                             <tr>
  125.                                 <td>
  126.                                     <label for="txtAge">
  127.                                         Age
  128.                                     </label>
  129.                                 </td>
  130.                                 <td>
  131.                                     <input type="text" id="txtAge"
  132.                                         name="txtAge"
  133.                                         size="50" maxlength="50"
  134.                                         value=""
  135.                                     />
  136.                                 </td>
  137.                             </tr>
  138.                             <tr>
  139.                                 <td>
  140.                                     <label for="txtDisponible">
  141.                                         Disponible a partir du
  142.                                     </label>
  143.                                 </td>
  144.                                 <td>
  145.                                     <input type="text" id="txtDisponible"
  146.                                         name="txtDisponible"
  147.                                         size="50" maxlength="50"
  148.                                         value=""
  149.                                     />
  150.                                 </td>
  151.                             </tr>
  152.                             <tr>
  153.                                 <td>
  154.                                     <label for="txtDepot">
  155.                                         Depot
  156.                                     </label>
  157.                                 </td>
  158.                                 <td>
  159.                                     <input type="text" id="txtDepot"
  160.                                         name="txtDepot"
  161.                                         size="50" maxlength="50"
  162.                                         value=""
  163.                                     />
  164.                                 </td>
  165.                             </tr>
  166.                             <tr>
  167.                                 <td>
  168.                                     <label for="txtNom">
  169.                                         Permis
  170.                                     </label>
  171.                                 </td>
  172.                                 <td>
  173.                                     <input type="text" id="txtPermis"
  174.                                         name="txtPermis"
  175.                                         size="50" maxlength="50"
  176.                                         value=""
  177.                                     />
  178.                                 </td>
  179.                             </tr>
  180.                         </table>
  181.                     </fieldset>
  182.                 </div>
  183.                 <div class="piedForm">
  184.                     <p>
  185.                         <input id="cmdFonction" name="cmdFonction"
  186.                                type="submit"
  187.                                value="Ajouter" size="15"
  188.                         />
  189.                     </p>
  190.                 </div>
  191.             </form>
  192.   <?php
  193.       // connexion à la base
  194.         $cnx = connectDB();
  195.   //récupération des valeurs des champs:
  196.   //CV:
  197.   $CV     = $_POST["txtCV"] ;
  198.   //Nom:
  199.   $nom = $_POST["txtNom"] ;
  200.   //adresse:
  201.   $Prenom= $_POST["txtPrenom"] ;
  202.   //code postal:
  203.   $Mobile       = $_POST["txtMobile"] ;
  204.   //numéro de téléphone:
  205.   $Adresse       = $_POST["txtAdresse"] ;
  206.   //Ville
  207.   $Ville      = $_POST["txtVille"] ;
  208.   //Etude
  209.   $Etude      = $_POST["txtEtude"] ;
  210.   //Experience
  211.   $Experience      = $_POST["txtExperience"] ;
  212.   //Age
  213.   $Age       = $_POST["txtAge"] ;
  214.   //Disponible
  215.   $Disponible       = $_POST["txtDisponible"] ;
  216.   //Depot
  217.   $Depot       = $_POST["txtDepot"] ;
  218.   //Permis
  219.   $Permis      = $_POST["txtPermis"] ;
  220.   //création de la requête SQL:
  221.   $sql = "INSERT  INTO gestion_des_cv (CV, Nom, Prenom, Mobile, Adresse, Ville, Etude, Experience, Age, Disponible, Depot_du_cv, Permis)
  222.             VALUES ( '$CV', '$nom', '$Prenom', '$Mobile', '$Adresse', '$Ville', '$Etude', '$Experience', '$Age', '$Disponible', '$Depot', '$Permis') " ;
  223.   //exécution de la requête SQL:
  224.   $requete = mysql_query($sql, $cnx) or die( mysql_error() ) ;
  225.   //affichage des résultats, pour savoir si l'insertion a marchée:
  226.   if($requete)
  227.   {
  228.     echo("L'insertion a été correctement effectuée" ) ;
  229.   }
  230.   else
  231.   {
  232.     echo("L'insertion à échouée" ) ;
  233.   }
  234. ?>

n°2259612
NewsletTux
&lt;Insérez ici votre vie /&gt;
Posté le 03-06-2015 à 15:05:01  profilanswer
 

Salut,
ta requête présente de potentiels risques, d'injection de texte notamment. Tu devrais utiliser PDO, une requête préparée et non le vieux mysql_query (à moins que tu ne tournes encore en php3 :D )
 
enfin, pour le numéro, ça peut se gérer directement par MySQL : un champ ID, entier numérique, avec la propriété "auto_increment".


Message édité par NewsletTux le 03-06-2015 à 15:05:32

---------------
NewsletTux - outil de mailing list en PHP MySQL

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  Formulaire en php

 

Sujets relatifs
pb renvoyer un formulaire par mailFormulaire de devis en PHP sur plusieurs pages web ?
assistance sur un formulaireCréer un formulaire pour sélectionner des PDF à inclure dans un zip ?
[Résolu] Caractères accentués dans formulaire d'envoi de mail.Aide formulaire de contact
Formulaire/Carte[Access] Formulaire de saisie -> Feuille blanche
Resultat formulaire barre admin wordpressRemplir champsavant de soumettre un formulaire
Plus de sujets relatifs à : Formulaire en php


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR