insertion double dans BDD (PHP/SQL)

insertion double dans BDD (PHP/SQL) - PHP - Programmation

Marsh Posté le 08-03-2010 à 18:03:43    

Bonjour à tous,
 
Je réalise un formulaire pour mon site avec enregistrement des infos dans une BDD . Il fonctionne très bien. J'ai rajouté un champ d'upload d'image. Celle-ci est uploadée correctement, le lien pointant vers l'image est bien insérée dans la BDD cependant, 2 lignes sont crées dans cette BDD à l'insertion.  
 
- une avec seulement le lien vers le chemin de l'image (repertoire cible), sans le nom du fichier ! Tous les autres champs sont vides.
 et
- une autre avec toutes les infos de mon formulaire dont le chemin complet vers l'image uploadée.
 
mon code :

Code :
  1. <?php
  2. /* Variables de connexion */
  3. $serveur = "localhost";
  4. $admin   = "****";
  5. $mdp     = "****";
  6. $base    = "****";
  7. //connexion à la base
  8. @mysql_connect($serveur, $admin, $mdp)
  9. or die("Impossible de se connecter au serveur de bases de données.".mysql_error());
  10. //sélection de la base
  11. @mysql_select_db($base)
  12. or die("Impossible de se connecter à la base de données.".mysql_error());
  13. //----------------------------
  14. //  DEFINITION DES VARIABLES  
  15. //----------------------------
  16. $target     = 'squelettes/img-annuaire/';  // Repertoire cible
  17. $extension  = 'jpg';      // Extension du fichier sans le .
  18. $max_size   = 150000;     // Taille max en octets du fichier
  19. $width_max  = 640;        // Largeur max de l'image en pixels
  20. $height_max = 480;        // Hauteur max de l'image en pixels
  21. //---------------------------------------------
  22. //  DEFINITION DES VARIABLES LIEES AU FICHIER
  23. //---------------------------------------------
  24. $nom_file   = $_FILES['fichier']['name'];
  25. $taille     = $_FILES['fichier']['size'];
  26. $tmp        = $_FILES['fichier']['tmp_name'];
  27. $chemin_image = $target.$nom_file;
  28. //----------------------
  29. //  SCRIPT D'UPLOAD
  30. //----------------------
  31. if(!empty($_POST['posted'])) {
  32.     // On vérifie si le champ est rempli
  33.     if(!empty($_FILES['fichier']['name'])) {
  34.         // On vérifie l'extension du fichier
  35.         if(substr($nom_file, -3) == $extension) {
  36.             // On récupère les dimensions du fichier
  37.             $infos_img = getimagesize($_FILES['fichier']['tmp_name']);
  38.            
  39.             // On vérifie les dimensions et taille de l'image
  40.             if(($infos_img[0] <= $width_max) && ($infos_img[1] <= $height_max) && ($_FILES['fichier']['size'] <= $max_size)) {
  41.                 // Si c'est OK, on teste l'upload
  42.                 if(move_uploaded_file($_FILES['fichier']['tmp_name'],$target.$_FILES['fichier']['name'])) {
  43.                     // Si upload OK alors on affiche le message de réussite
  44.                     echo '<b>Image uploadée avec succès !</b>';
  45.                     echo '<hr />';
  46.                     echo '<b>Fichier :</b> ', $_FILES['fichier']['name'], '<br />';
  47.                     echo '<b>Taille :</b> ', $_FILES['fichier']['size'], ' Octets<br />';
  48.                     echo '<b>Largeur :</b> ', $infos_img[0], ' px<br />';
  49.                     echo '<b>Hauteur :</b> ', $infos_img[1], ' px<br />';
  50.                     echo '<hr />';
  51.                     echo '<br /><br />';
  52.                 } else {
  53.                     // Sinon on affiche une erreur système
  54.                     echo '<b>Problème lors de l\'upload !</b><br /><br /><b>', $_FILES['fichier']['error'], '</b><br /><br />';
  55.                 }
  56.             } else {
  57.                 // Sinon on affiche une erreur pour les dimensions et taille de l'image
  58.                   echo '<b>Problème dans les dimensions ou taille de l\'image. Celle-ci ne dit pas dépasser 150ko et 640x480px.</b><br /><br />Vous allez être redigiré, patientez quelques secondes';
  59.             }
  60.         } else {
  61.             // Sinon on affiche une erreur pour l'extension
  62.             echo '<b>Votre image ne comporte pas l\'extension .jpg !</b><br /><br />';
  63.         }
  64.     } else {
  65.         // Sinon on affiche une erreur pour le champ vide
  66.         echo '<b>Le champ du formulaire est vide !</b><br /><br />';
  67.     }
  68. }
  69. $Zraisonsoc = mysql_real_escape_string(htmlspecialchars ($_POST['Zraison_soc']));
  70. $Ztel = mysql_real_escape_string(htmlspecialchars ($_POST['Ztel']));
  71. $Zadresse = mysql_real_escape_string(htmlspecialchars ($_POST['Zadresse']));
  72. $Zadressesuite = mysql_real_escape_string(htmlspecialchars ($_POST['Zadresse_suite']));
  73. $Zfax = mysql_real_escape_string(htmlspecialchars ($_POST['Zfax']));
  74. $Zville = mysql_real_escape_string(htmlspecialchars ($_POST['Zville']));
  75. $Zcp = mysql_real_escape_string(htmlspecialchars ($_POST['Zcp']));
  76. $Zemail = mysql_real_escape_string(htmlspecialchars ($_POST['Zemail']));
  77. $Zweb = mysql_real_escape_string(htmlspecialchars ($_POST['Zweb']));
  78. $Zdepartement = mysql_real_escape_string(htmlspecialchars ($_POST['Zdepartement']));
  79. $Ztelephone = mysql_real_escape_string(htmlspecialchars ($_POST['Ztel']));
  80. $Zsiret = mysql_real_escape_string(htmlspecialchars ($_POST['Zsiret']));
  81. $Znaf = mysql_real_escape_string(htmlspecialchars ($_POST['Znaf']));
  82. $Zformejur = mysql_real_escape_string(htmlspecialchars ($_POST['Zforme_jur']));
  83. $Zdatecreation = mysql_real_escape_string(htmlspecialchars ($_POST['Zdate_creation']));
  84. $Zcapitalsocial = mysql_real_escape_string(htmlspecialchars ($_POST['Zcapital_social']));
  85. $Zactionnariat = mysql_real_escape_string(htmlspecialchars ($_POST['Zactionnariat']));
  86. $Zchiffreaffaires = mysql_real_escape_string(htmlspecialchars ($_POST['Zchiffre_affaires']));
  87. $Zdirigeant = mysql_real_escape_string(htmlspecialchars ($_POST['Zdirigeant']));
  88. $Zfonction = mysql_real_escape_string(htmlspecialchars ($_POST['Zfonction']));
  89. $Zeffectif = mysql_real_escape_string(htmlspecialchars ($_POST['Zeffectif']));
  90. $Zpourcent_actio1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zpourcent_actio1']));
  91. $Znom_actio1 = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_actio1']));
  92. $Zpourcent_actio2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zpourcent_actio2']));
  93. $Znom_actio2 = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_actio2']));
  94. $Zpourcent_actio_autres = mysql_real_escape_string(htmlspecialchars ($_POST['Zpourcent_actio_autres']));
  95. $Znom_actio_autres = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_actio_autres']));
  96. $ZpartCAmp = mysql_real_escape_string(htmlspecialchars ($_POST['Zpart_CA_mp']));
  97. $ZpartCAfr = mysql_real_escape_string(htmlspecialchars ($_POST['Zpart_CA_fr']));
  98. $ZpartCAinter = mysql_real_escape_string(htmlspecialchars ($_POST['Zpart_CA_inter']));
  99. $Zpayscible = mysql_real_escape_string(htmlspecialchars ($_POST['Zpays_cible']));
  100. $Zgroupe = mysql_real_escape_string(htmlspecialchars ($_POST['Zgroupe']));
  101. $Zpourcentagecapital = mysql_real_escape_string(htmlspecialchars ($_POST['Zpourcentage_capital']));
  102. $Zsiege = mysql_real_escape_string(htmlspecialchars ($_POST['Zsiege']));
  103. $Znom_ste_mere = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_ste_mere']));
  104. $Zautresentregroupe = mysql_real_escape_string(htmlspecialchars ($_POST['Zautres_entre_groupe']));
  105. $Zparticipation = mysql_real_escape_string(htmlspecialchars ($_POST['Zparticipation']));
  106. $Znomparticipation = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_particip']));
  107. $Znom_contact1 = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_contact1']));
  108. $Zmail_contact1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zmail_contact1']));
  109. $Zprenom_contact1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zprenom_contact1']));
  110. $Ztel_contact1 = mysql_real_escape_string(htmlspecialchars ($_POST['Ztel_contact1']));
  111. $Zfonction_contact1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zfonction_contact1']));
  112. $Znom_contact2 = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_contact2']));
  113. $Zmail_contact2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zmail_contact2']));
  114. $Zprenom_contact2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zprenom_contact2']));
  115. $Ztel_contact2 = mysql_real_escape_string(htmlspecialchars ($_POST['Ztel_contact2']));
  116. $Zfonction_contact2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zfonction_contact2']));
  117. $Znom_relation = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_relation']));
  118. $Zmail_relation = mysql_real_escape_string(htmlspecialchars ($_POST['Zmail_relation']));
  119. $Zprenom_relation = mysql_real_escape_string(htmlspecialchars ($_POST['Zprenom_relation']));
  120. $Ztel_relation = mysql_real_escape_string(htmlspecialchars ($_POST['Ztel_relation']));
  121. $Zfonction_relation = mysql_real_escape_string(htmlspecialchars ($_POST['Zfonction_relation']));
  122. $Zmobile_relation = mysql_real_escape_string(htmlspecialchars ($_POST['Zmobile_relation']));
  123. $Zsecteur1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsecteur1']));
  124. $Zsecteur2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsecteur2']));
  125. $Zsecteur3 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsecteur3']));
  126. $Zsecteur4 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsecteur4']));
  127. $Zsous_secteur1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsous_secteur1']));
  128. $Zsous_secteur2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsous_secteur2']));
  129. $Zsous_secteur3 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsous_secteur3']));
  130. $Zsous_secteur4 = mysql_real_escape_string(htmlspecialchars ($_POST['Zsous_secteur4']));
  131. $Znom_autre_secteur = mysql_real_escape_string(htmlspecialchars ($_POST['Znom_autre_secteur']));
  132. $Zact_BIO = mysql_real_escape_string(htmlspecialchars ($_POST['Zact_BIO']));
  133. $Zpres_general = mysql_real_escape_string(htmlspecialchars ($_POST['Zpres_general']));
  134. $Zsavoir_faire = mysql_real_escape_string(htmlspecialchars ($_POST['Zsavoir_faire']));
  135. $Zproduits_fab_1 = mysql_real_escape_string(htmlspecialchars ($_POST['Zproduits_fab_1']));
  136. $Zproduits_fab_2 = mysql_real_escape_string(htmlspecialchars ($_POST['Zproduits_fab_2']));
  137. $Zproduits_fab_3 = mysql_real_escape_string(htmlspecialchars ($_POST['Zproduits_fab_3']));
  138. $Zproduits_fab_4 = mysql_real_escape_string(htmlspecialchars ($_POST['Zproduits_fab_4']));
  139. $Zproduits_fab_texte = mysql_real_escape_string(htmlspecialchars ($_POST['Zproduits_fab_texte']));
  140. $Zmarques_fab = mysql_real_escape_string(htmlspecialchars ($_POST['Zmarques_fab']));
  141. $Zmots_cles = mysql_real_escape_string(htmlspecialchars ($_POST['Zmots_cles']));
  142. $Zadherent = mysql_real_escape_string(htmlspecialchars ($_POST['Zadherent']));
  143. $Zasso_adherent = mysql_real_escape_string(htmlspecialchars ($_POST['Zasso_adherent']));
  144. $Zfournisseurs = mysql_real_escape_string(htmlspecialchars ($_POST['Zfournisseurs']));
  145. $Zfournisseurs_MP = mysql_real_escape_string(htmlspecialchars ($_POST['Zfournisseurs_MP']));
  146. $Zfournisseurs_MP_texte = mysql_real_escape_string(htmlspecialchars ($_POST['Zfournisseurs_MP_texte']));
  147. $Zclients = mysql_real_escape_string(htmlspecialchars ($_POST['Zclients']));
  148. $Zclients_MP = mysql_real_escape_string(htmlspecialchars ($_POST['Zclients_MP']));
  149. $Zclients_MP_texte = mysql_real_escape_string(htmlspecialchars ($_POST['Zclients_MP_texte']));
  150. $Zpartenaires_MP = mysql_real_escape_string(htmlspecialchars ($_POST['Zpartenaires_MP']));
  151. $Zpartenaires_MP_texte = mysql_real_escape_string(htmlspecialchars ($_POST['Zpartenaires_MP_texte']));
  152. $Zrapproche = mysql_real_escape_string(htmlspecialchars ($_POST['Zrapproche']));
  153. $Zaccepte = mysql_real_escape_string(htmlspecialchars ($_POST['Zaccepte']));
  154. /* Enregistrement du formulaire dans la BDD */
  155. $table_annuaire = mysql_query("insert into annuaire (raison_sociale, logo, ville, code_postal, adresse, adresse_suite ,departement, telephone, fax, email, web, siret, NAF_APE, forme_juridique, date_creation, capital_social, actionnariat,  nom_actionnariat1, pourcentage_actionnariat1, nom_actionnariat2, pourcentage_actionnariat2, nom_actionnariat_autres, pourcentage_actionnariat_autres, chiffre_affaire, dirigeant, fonction, effectif, part_CA_mp, part_CA_fr, part_CA_inter, pays_cible_inter, appartenance_groupe, pourcentage_capital, type_entreprise, autre_entreprise_groupe, participation, nom_participation, nom_contact1, prenom_contact1, fonction_contact1, email_contact1, tel_contact1, nom_contact2, prenom_contact2, fonction_contact2, email_contact2, tel_contact2, nom_contact_cluster, prenom_contact_cluster, fonction_contact_cluster, email_contact_cluster, tel_contact_cluster, mobile_contact_cluster, secteur1, sous_secteur1, secteur2, sous_secteur2, secteur3, sous_secteur3, secteur4, sous_secteur4, autre_secteur, activite_BIO, presentation_generale, savoir_faire, produits_fabriques1, produits_fabriques2, produits_fabriques3, produits_fabriques4, produits_fabriques_texte, marques_fabriquees, mots_cles_activite, adherent_association, association, principaux_fournisseurs, fournisseurs, fournisseurs_texte, principaux_clients, clients, clients_texte, partenaires, partenaires_texte, rapprochement_fabriquant_entreprise, accepte_conditions) values('".$Zraisonsoc."', '".$chemin_image."', '".$Zville."', '".$Zcp."', '".$Zadresse."', '".$Zadressesuite."', '".$Zdepartement."', '".$Ztelephone."', '".$Zfax."', '".$Zemail."', '".$Zweb."', '".$Zsiret."', '".$Znaf."', '".$Zformejur."', '".$Zdatecreation."', '".$Zcapitalsocial."', '".$Zactionnariat."', '".$Znom_actio1."', '".$Zpourcent_actio1."', '".$Znom_actio2."', '".$Zpourcent_actio2."', '".$Znom_actio_autres."', '".$Zpourcent_actio_autres."', '".$Zchiffreaffaires."', '".$Zdirigeant."', '".$Zfonction."', '".$Zeffectif."', '".$ZpartCAmp."', '".$ZpartCAfr."', '".$ZpartCAinter."', '".$Zpayscible."', '".$Zgroupe."', '".$Zpourcentagecapital."', '".$Zsiege."', '".$Zautresentregroupe."', '".$Zparticipation."', '".$Znomparticipation."', '".$Znom_contact1."', '".$Zprenom_contact1."', '".$Zfonction_contact1."', '".$Zmail_contact1."', '".$Ztel_contact1."', '".$Znom_contact2."', '".$Zprenom_contact2."', '".$Zfonction_contact2."', '".$Zmail_contact2."', '".$Ztel_contact2."', '".$Znom_relation."', '".$Zprenom_relation."', '".$Zfonction_relation."', '".$Zmail_relation."', '".$Ztel_relation."', '".$Zmobile_relation."', '".$Zsecteur1."', '".$Zsous_secteur1."', '".$Zsecteur2."', '".$Zsous_secteur2."', '".$Zsecteur3."', '".$Zsous_secteur3."', '".$Zsecteur4."', '".$Zsous_secteur4."', '".$Znom_autre_secteur."', '".$Zact_BIO."', '".$Zpres_general."', '".$Zsavoir_faire."', '".$Zproduits_fab_1."', '".$Zproduits_fab_2."', '".$Zproduits_fab_3."', '".$Zproduits_fab_4."', '".$Zproduits_fab_texte."', '".$Zmarques_fab."', '".$Zmots_cles."', '".$Zadherent."', '".$Zasso_adherent."', '".$Zfournisseurs."', '".$Zfournisseurs_MP."', '".$Zfournisseurs_MP_texte."', '".$Zclients."', '".$Zclients_MP."', '".$Zclients_MP_texte."', '".$Zpartenaires_MP."', '".$Zpartenaires_MP_texte."', '".$Zrapproche."', '".$Zaccepte."')" );
  156. ?>
  157. <form name="form" action="<?php echo $PHP_SELF; ?>" method="post" style="color: #333; font-size:14px;" enctype="multipart/form-data">
  158.  
  159.    <fieldset>
  160.   <legend><strong>Informations générales</strong></legend>
  161.    <table width="650" border="0" cellspacing="3" class="bleu">
  162.  
  163.   <tr>
  164.   <td>Raison sociale* :</td> <td><input type="text" name="Zraison_soc"></td> 
  165.   <td>Logo :</td> <td><input type="hidden" name="posted" value="1" />
  166.             <input name="fichier" type="file" /></td>
  167.   </tr>
  168.  
  169.   ...
  170.  
  171.  
  172.   </table>
  173.   </fieldset>
  174.  
  175.  
  176.  
  177.  
  178.   <table border="0">
  179.   <tr>
  180.    <td><INPUT type="checkbox" name="Zaccepte" value="oui"> J'ai lu et accepté les conditions d'utilisation de ce formulaire</td>
  181.    </tr>
  182.   <tr><td><input type="submit" value="Envoyer" /></td></tr>
  183.   </table>
  184.  
  185.  
  186. </form>
  187. <?php
  188. }
  189. else
  190. {
  191.    
  192. ?>
  193. <p>La connexion au serveur de base de données a échoué. Aucun élément ne peut être affiché.</p>
  194. <?php
  195. }
  196. ?>


 
Le code étant long, je n'ai pas mis l'ensemble du formulaire.
 
Ma question est donc : comment faire pour n'avoir qu'une seule ligne insérée dans ma BDD ?
 
Si je n'ai pas été assez clair, dites le moi.
 
 
Merci d'avance

Reply

Marsh Posté le 08-03-2010 à 18:03:43   

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed