[PHP/Bootstrap] Problème de pièce jointe et d'envoi de données

Problème de pièce jointe et d'envoi de données [PHP/Bootstrap] - PHP - Programmation

Marsh Posté le 18-03-2016 à 13:04:27    

Bonjour,  
 
J'ai un soucis, je suis en train de voir pour upload une pièce jointe dans un fichier et d'avoir le lien dans ma BDD, mais avant de modifier mon code d'upload je souhaiterai résoudre un problème vraiment génant. Pour les pièces jointe il faut un encodage enctype sauf que lorsque je le rajoute dans ma balise form les données de mon formulaire ne s’insèrent plus dans ma BDD alors que sans cela fonctionne.
 
Voici mon code:
 
HTML:
 

Code :
  1. <div class="row">
  2.   <div class="col-md-8 col-md-offset-2">
  3.     <div class="cform" id="contact-form">
  4.       <form action="#finFormu" method="post" role="form" class="">
  5.         <div class="form-group">
  6.           <label for="oui">Civilité :</label>
  7.           <br/>
  8.           <input type="radio" name="candid_civi" value="Mr" id="oui" checked="checked" /> <label for="oui"> Mr.</label>
  9.           <input type="radio" name="candid_civi" value="Mme" id="non" /> <label for="non"> Mme</label>
  10.           <div class="validation"></div>
  11.         </div>
  12.         <div class="form-group">
  13.           <label for="name">Nom</label>
  14.           <input type="text" name="candid_nom" class="form-control" id="name" placeholder="Votre nom" data-rule="maxlen:4" data-msg="Please enter at least 4 chars"/>
  15.           <div class="validation"></div>
  16.         </div>
  17.         <div class="form-group">
  18.           <label for="name">Prénom</label>
  19.           <input type="text" name="candid_prenom" class="form-control" id="name" placeholder="Votre prénom" data-rule="maxlen:4" data-msg="Please enter at least 4 chars" />
  20.           <div class="validation"></div>
  21.         </div>
  22.         <div class="form-group">
  23.           <label for="born">Date de naissance</label>
  24.           <input type="date" class="form-control" name="candid_born" id="born" placeholder="Votre date naissance" data-rule="born" data-msg="Entrez une date valide" />
  25.           <div class="validation"></div>
  26.         </div>
  27.         <div class="form-group">
  28.           <label for="email">Adresse E-mail</label>
  29.           <input type="email" class="form-control" name="candid_mail" id="email" placeholder="Votre Email" data-rule="email" data-msg="Entrez une adresse email valide" />
  30.           <div class="validation"></div>
  31.         </div>
  32.         <div class="form-group" id="finFormu">
  33.           <label for="subject">Adresse</label>
  34.           <input type="text" class="form-control" name="candid_adresse" id="address" placeholder="Adresse" data-rule="maxlen:4" data-msg="Please enter at least 8 chars of subject" />
  35.           <div class="validation"></div>
  36.         </div>
  37.         <div class="form-group">
  38.           <label for="subject">Numéro de téléphone</label>
  39.           <input type="text" class="form-control" name="candid_phone" id="phone" placeholder="Format attendu : 06 47 ..." data-rule="maxlen:25" data-msg="Please enter at least 8 chars of subject" />
  40.           <div class="validation"></div>
  41.         </div>
  42.         <div class="form-group">
  43.           <label for="subject">Joindre les documents nécessaires (Archive)</label>
  44.                 <input type="hidden" class="form-control" name="MAX_FILE_SIZE" id="size" value="6291456">
  45.                 <input type="file" name="fichier">
  46.             <div class="validation"></div>
  47.         </div>
  48.            
  49.             <input type="submit" class="btn btn-theme pull-left" name="envoi" value="Soumettre"></input>
  50.       </form>
  51.       <div id="sendmessage">
  52.         Votre demande à été envoyée avec succès. Merci beaucoup !
  53.       </div>
  54.     </div>
  55.     <!-- ./span12 -->
  56.   </div>
  57. </div>


 
PHP:
 

Code :
  1. <?php
  2. try {
  3. if(isset($_POST['envoi']))
  4. {
  5.   if( !empty($_POST["candid_civi"]) && !empty($_POST["candid_nom"]) && !empty($_POST["candid_prenom"]) && !empty($_POST['candid_born'])
  6.       && !empty($_POST["candid_mail"]) && !empty($_POST["candid_adresse"]) && !empty($_POST["candid_phone"]) && !empty($_POST["fichier"]))
  7.     {
  8.     $req = $con->prepare("CALL inscriptionEtudiant(:nom_eleve, :prenom_eleve, :civilite_eleve, :naissance_eleve, :email_eleve, :adresse_eleve, :tel_eleve, :fichier)
  9.                         " );
  10.       $req->execute(array(
  11.         "nom_eleve" => $_POST["candid_nom"],
  12.         "prenom_eleve" => $_POST["candid_prenom"],
  13.         "civilite_eleve" => $_POST["candid_civi"],
  14.         "naissance_eleve" => $_POST['candid_born'],
  15.         "email_eleve" => $_POST["candid_mail"],
  16.         "adresse_eleve" => $_POST["candid_adresse"],
  17.         "tel_eleve" => $_POST["candid_phone"],
  18.         "fichier" => $_POST["fichier"]
  19.         ));
  20.      
  21.         /*
  22.  
  23.         //Testons si le fichier a bien ete envoye et s'il n'y a pas d'erreur
  24.           if (isset($_FILES['fichier']) AND $_FILES['fichier']['error'] == 0);
  25.              
  26.           {
  27.         //Testons si le fichier n'est pas trop gros
  28.           if ($_FILES['file']['size'] <=6000000)
  29.           {
  30.         //Testons si l'extension est autorisée
  31.           $infosfichier = pathinfo($_FILES['fichier']['name']);
  32.           $extension_upload = $infosfichier['extension'];
  33.           $extensions_autorisees = array('rar', 'zip','');
  34.           if (in_array($extension_upload, $extensions_autorisees))
  35.           {
  36.         //on peut valider le fichier et le stocker definitivement
  37.         move_uploaded_file($_FILES['fichier']['tmp_name'], './upload/' . basename($_FILES['fichier']['name']));
  38.         echo "l'envoi a bien ete effectue !";
  39.           }
  40.         }
  41.       }                     
  42.  
  43.     */
  44.       $error = '';
  45.       ?>
  46.       <script>document.getElementById('sendmessage').style.display = "block";</script>
  47.       <?php
  48.   }
  49. }
  50. }
  51. catch (Exception $e)
  52. {
  53.   echo $e->getMessage();
  54. }
  55. ?>


 
Merci d'avance, là je suis complètement bloqué même un prof n'arrive pas à le résoudre.  :ange:


Message édité par MiamiVince33 le 18-03-2016 à 13:06:16

---------------
Amateur de grosses et belles configurations
Reply

Marsh Posté le 18-03-2016 à 13:04:27   

Reply

Marsh Posté le 18-03-2016 à 14:44:49    

j'ai testé ton code sur mon serveur et il marche bien avec le enctype

Code :
  1. <form action="test.php" role="form" class="" enctype="multipart/form-data" method="post">


 
Peux tu nous afficher ce qu'il y a dans le $_POST et le $_FILES en ajoutant ceci dans ton fichier php
 

Code :
  1. echo '<pre>'.var_dump($_POST).'</pre>';
  2. echo '<pre>'.var_dump($_FILES).'</pre>';

Reply

Marsh Posté le 19-03-2016 à 16:45:01    

Merci de ta réponse,  
 
 :pt1cable: sa marche sur ton serveur, des fois l'informatique...  
 
A vrai dire il m'affiche rien du tout (dans le action du form le lien c'est une ancre je me demande si elle fait pas conflit et le fait que tu ais mis une page en lien change la donne)
 


---------------
Amateur de grosses et belles configurations
Reply

Marsh Posté le 20-03-2016 à 16:03:48    

:bounce:


---------------
Amateur de grosses et belles configurations
Reply

Marsh Posté le 29-03-2016 à 09:48:20    

re j'avais pas vu ta reponse, mais du coup quand tu clique sur le bouton submit ta page ne se recharge pas du coup ?

Reply

Sujets relatifs:

Leave a Replay

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