Formulaire de contact avec upload, traitement en ajax

Par Nono95, il y a 10 ans


Bonjour,

Voila je rencontre un petit problème avec mon code.

J'aimerais pouvoir traiter mon formulaire en ajax, sans que la page se raffraichisse

Voici mon formulaire

<div id="contactForm" class="row"><!-- <form role='form' id="formContactID" name="formContact" method="post" novalidate enctype="multipart/form-data" action="<?php echo DIR_CONTROLLER ?>contactcontroller.php">--> <form role='form' id="formContactID" name="formContact" method="post" novalidate enctype="multipart/form-data"> <div class="col-lg-8 col-md-8 colsm-8 col-xs-8 col-lg-offset-2 col-md-offset-2 col-sm-offset-2 col-xs-offset-2"> <legend>Informations Personnelles</legend> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label inline" id="nom-label">Nom <span class="etoile">*</span></label> <span id="nom_reste" class="help-block new-help inline pull-right" ></span> <input type="text" class="form-control" placeholder="Nom" id="nom" name="nom" required data-validation-required-message="Entrer votre nom" value="<?php if(!empty($form_nom)): ?><?= $form_nom ?><?php endif ?>"> <span class="glyphicon form-control-feedback glypheErrorSuccess" id="nom-glyph"></span> <span class="help-block" id="nom-help"></span> </div> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label inline" id="prenom-label">Prénom <span class="etoile">*</span></label> <span id="prenom_reste" class="help-block new-help inline pull-right" ></span> <input type="text" class="form-control" placeholder="Prénom" id="prenom" name="prenom" required data-validation-required-message="Entrer votre prénom" value="<?php if( !empty($form_prenom)): ?><?= $form_prenom ?><?php endif ?>"> <span id="prenom-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="prenom-help" class="help-block"></span> </div> </div> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label" id="email-label">Adresse mail <span class="etoile">*</span></label> <input type="email" class="form-control" placeholder="Adresse Mail" id="email" name="email" required data-validation-required-message="Entrer votre adresse mail" value="<?php if( !empty($form_email)): ?><?= $form_email ?><?php endif ?>"> <span id="email-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="email-help" class="help-block"></span> </div> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label" id="phone-label">Téléphone portable</label> <input type="tel" class="form-control" placeholder="Téléphone portable" id="phone" name="phone" required data-validation-required-message="Entrer votre numéro de portable" value="<?php if(!empty($form_phone)): ?><?= $form_phone ?><?php endif ?>"> <span id="phone-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="phone-help" class="help-block"></span> </div> </div> <legend>Je vous écoute...</legend> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label inline" id="objet-label">Objet <span class="etoile">*</span></label> <span id="objet_reste" class="help-block new-help inline pull-right" ></span> <input type="text" class="form-control" placeholder="Objet" id="objet" name="objet" required data-validation-required-message="Entrer l'objet de votre message" value="<?php if(!empty($form_objet)): ?><?= $form_objet ?><?php endif ?>"> <span id="objet-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="objet-help" class="help-block"></span> </div> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls"> <label class="control-label">Vous avez un projet à m'exposer ? <span class="etoile">*</span></label> <div class="marge_radio"> <label for="oui_projet" class="radio inline pull-left"> <input type="radio" name="projet" value="true" id="oui_projet" <?php if( isset($form_projet) && $form_projet == 'true'): ?>checked<?php endif ?> > Oui </label> </div> <div class="marge_radio"> <label for="non_projet" class="radio inline pull-left radioNumber2"> <input type="radio" name="projet" value="false" id="non_projet" <?php if( !isset($form_projet) || (isset($form_projet) && $form_projet== 'false') ): ?>checked<?php endif ?> > Non </label> </div> </div> </div> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 form-group floating-label-form-group controls has-feedback"> <label class="control-label inline" id="message-label">Message <span class="etoile">*</span></label> <span id="message_reste" class="help-block new-help inline pull-right" ></span> <textarea rows="5" class="form-control" placeholder="Message" id="message" name="message" required data-validation-required-message="Saisissez votre message"><?php if(!empty($form_message)): ?><?= $form_message ?><?php endif ?></textarea> <span id="message-glyph" class="glyphicon form-control-feedback glypheErrorSuccess_TextArea"></span> <span id="message-help" class="help-block"></span> </div> </div> </div> <div id="about_Projet" class="col-lg-8 col-md-8 colsm-8 col-xs-8 col-lg-offset-2 col-md-offset-2 col-sm-offset-2 col-xs-offset-2"> <legend>À propos de votre projet</legend> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label" id="projet_titre-label">Titre du projet</label> <input type="text" class="form-control" placeholder="Titre de votre projet" id="projet_titre" name="projet_titre" required data-validation-required-message="Entrez le titre de votre projet" value="<?php if(!empty($form_projet_titre)): ?><?= $form_projet_titre ?><?php endif ?>" > <span class="glyphicon form-control-feedback glypheErrorSuccess" id="projet_titre-glyph"></span> <span class="help-block" id="projet_titre-help"></span> </div> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label" id="projet_date-label">Date idéale de mise en ligne</label> <input type="text" class="form-control" placeholder="JJ-MM-AAAA" id="projet_date" name="projet_date" required data-validation-required-message="Entrez la date idéale de mise en ligne de votre projet" value="<?php if(!empty($form_projet_date)): ?><?= $form_projet_date ?><?php endif ?>" > <span id="projet_date-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="projet_date-help" class="help-block"></span> </div> </div> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label inline" id="projet_description-label">Description du projet</label> <span id="projet_description-reste" class="help-block new-help inline pull-right" ></span> <textarea rows="5" class="form-control" placeholder="Description de votre projet" id="projet_description" name="projet_description" required data-validation-required-message="Saisissez la description de votre projet"><?php if(!empty($form_projet_description)): ?><?= $form_projet_description ?><?php endif ?></textarea> <span id="projet_description-glyph" class="glyphicon form-control-feedback glypheErrorSuccess_TextArea"></span> <span id="projet_description-help" class="help-block"></span> </div> <div class="col-xs-12 col-sm-12 col-md-6 col-lg-6 form-group floating-label-form-group controls has-feedback"> <label class="control-label" id="projet_budget-label">Budget estimé</label> <div class="input-group"> <span class="input-group-addon">€</span> <input type="text" class="form-control" placeholder="Fourchette budgétaire" id="projet_budget" name="projet_budget" required data-validation-required-message="Entrez une fourchette budgétaire" value="<?php if(!empty($form_projet_budget)): ?><?= $form_projet_budget ?><?php endif ?>" > </div> <span id="projet_budget-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="projet_budget-help" class="help-block"></span> </div> </div> <div class="row control-group"> <div class="col-xs-12 col-sm-12 col-md-12 col-lg-12 form-group floating-label-form-group controls has-feedback"> <label class="control-label" id="projet_file-label">Cahier des charges (20 Mo maximum)</label> <input type="file" class="filestyle" id="projet_file" name="projet_file" data-buttonName="btn-primary" data-buttonText="&nbsp;Parcourir" data-buttonBefore="true"> <input type="hidden" name="MAX_FILE_SIZE" value="20480000"> <span id="projet_file-glyph" class="glyphicon form-control-feedback glypheErrorSuccess"></span> <span id="projet_file-help" class="help-block"></span> </div> </div> </div> <div class="col-lg-8 col-md-8 colsm-8 col-xs-8 col-lg-offset-2 col-md-offset-2 col-sm-offset-2 col-xs-offset-2"> <div class="row"> <div class="col-lg-12 col-md-12 colsm-12 col-xs-12 form-group text-center"> <p id="new_submit_repere" style="display:none;"></p> <?php if (isset($sent) && $sent== true): ?> <button type="submit" id="form_submit" class="btn btn-success btn-lg poster">Envoyé</button> <?php else: ?> <button type="submit" id="form_submit" class="btn btn-primary btn-lg poster">Validez</button> <?php endif ?> </div> </div> </div> </form> </div>

Voici mon javascript

// Condition pour validation du formulaire $('#formContactID').on('submit',function(){ // Valeur Projet: True ou False var valueProjet = $('input[type=radio][name=projet]:checked').attr('value'); // Validation Nom & Prénom var regexnomETprenom = /^[àáâäçèéêëìíîïñòóôöùúûüa-zA-Z\-' ]+$/; var nom = $('#nom').val(); var nom_length = nom.length; var prenom = $('#prenom').val(); var prenom_length = prenom.length; // Validation Email var email = $('#email').val(); var regexEmail = /^((([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+(\.([a-z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(\\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|\d|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.)+(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])|(([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])([a-z]|\d|-|\.|_|~|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])*([a-z]|[\u00A0-\uD7FF\uF900-\uFDCF\uFDF0-\uFFEF])))\.?$/i; // Validation Phone var phone = $('#phone').val(); var phone_length = phone.length; var regexPhone = /^((\+|00)33\s?|0)[67](\s?\d{2}){4}$/; var phoneISempty= true; if (phone_length>0) { phoneISempty= false; } else{ phoneISempty= true; } // Validation Objet var objet = $('#objet').val(); var objet_length = objet.length; // Validation Message var message = $('#message').val(); var message_length = message.length; // Validation Projet_Titre var projet_titre = $('#projet_titre').val(); var projet_titre_length = projet_titre.length; // Validation Projet_Date var projet_date = $('#projet_date').val(); var explode_projet_date= projet_date.split("-"); var change_projet_date = explode_projet_date[2]+"-"+explode_projet_date[1]+"-"+explode_projet_date[0]; var projet_date_length = projet_date.length; var projet_date_convert = new Date(change_projet_date); var todayDate_convert = new Date(todayDate); var projet_date_time = projet_date_convert.getTime(); var todayDate_time = todayDate_convert.getTime(); //var quinzeJours = 1000 milliseconds * 60 secondes * 60 minutes * 24 heures * 15 jours; var quinzeJours_time = 1000 * 60 * 60 * 24 * 15 ; var testDate = (todayDate_time+quinzeJours_time)-projet_date_time; var unJour = 86400000; // Validation Projet_Description var projet_description = $('#projet_description').val(); var projet_description_length = projet_description.length; // Validation Projet_Budget var projet_budget = $('#projet_budget').val(); var projet_budget_length = projet_budget.length; //Validation Projet_Fichier var projet_file = $('#projet_file').val(); var extension = projet_file.split('.').pop(); var extensionValide = ["zip", "rar", "gz", "tgz","doc","docx","xls","xlsx","pdf"]; //Variable de test var poids=0; var extensionISokay=false; blockExtension: { for(var i=0 ; i< (extensionValide.length -1 ) ; i++) { if (extensionValide[i] == extension) { extensionISokay = true; break blockExtension; } } } if (extensionISokay == true) { poids = document.getElementById('projet_file').files[0].size; } //console.log(projet_file+'; extension is okay ? :'+extensionISokay+"; poids: "+poids); //Formulaire AVEC ou SANS "PROJET" => SANS if ( valueProjet == 'false' ) { // SI ERREUR FORMULAIRE == POSITIF if ( ( !regexnomETprenom.test(nom)) || (nom_length<=1) || (nom_length>50) || (!regexnomETprenom.test(prenom)) || (prenom_length<=1) || (prenom_length>70) || (!regexEmail.test(email)) || ( (phoneISempty == false) && (!regexPhone.test(phone)) ) || (objet_length<6) || (objet_length>100) || (message_length<30) || (message_length>2000) ) { alert("Corriger vos erreurs avant d'envoyé votre formulaire !"); } // SI ERREUR FORMULAIRE == NEGATIF // ALORS LE MAIL SERA ENVOYER else{ //exemple à supprimer en dessous //$("#formContactID").submit(); alert('ok'); var $form = $(this); var formdata = (window.FormData) ? new FormData($form[0]) : null; var data = (formdata !== null) ? formdata : $form.serialize(); $.ajax({ //url: $("#formContactID").attr('action'), url: "/portfolio_perso/controller/contactcontroller.php", type:$(this).attr('method'), dataType: 'json', // selon le retour attendu data: data, contentType: false, // obligatoire pour de l'upload processData: false, // obligatoire pour de l'upload success: function(json){ alert(json); if(json.response == 'ok'){ alert('Tout est bon'); } }, error:function(content){ alert('erreur : '+ content+' ; response : '+content.response); } }); /* request_Form.done(function(data) { alert('tout est magnifique'); console.log(data); $('#form_submit').remove(); var success= "<button type='submit' id='form_submit' class='btn btn-success btn-lg poster'>Envoyez avec succès</button>" $("#new_submit_repere").after(success); }); request_Form.fail(function( jqXHR, textStatus) { alert( "Request failed: " + textStatus ); });*/ /* var xhr = new XMLHttpRequest(); xhr.open('POST', '/portfolio_perso/controller/contactcontroller.php'); var myForm = document.getElementById('formContactID'), form = new FormData(myForm); xhr.send(form);*/ } } //Formulaire AVEC ou SANS "PROJET" => AVEC else if ( valueProjet == 'true' ) { // SI ERREUR FORMULAIRE == POSITIF if ( ( !regexnomETprenom.test(nom)) || (nom_length<=1) || (nom_length>50) || (!regexnomETprenom.test(prenom)) || (prenom_length<=1) || (prenom_length>70) || (!regexEmail.test(email)) || ( (phoneISempty == false) && (!regexPhone.test(phone)) ) || (objet_length<6) || (objet_length>100) || (message_length<30) || (message_length>2000) || (projet_titre_length<4) || (projet_titre_length>100) || (isDate(projet_date) == false) || ((todayDate_time+quinzeJours_time)> projet_date_time ) || (projet_description_length<30) || (projet_description_length>2000) || (is_int(projet_budget) == false) || (projet_budget_length<3) || (projet_budget_length>8) || (projet_budget< 400) ) { alert("Corriger vos erreurs avant d'envoyé votre formulaire !!!"); } // SI ERREUR FORMULAIRE == NEGATIF // ALORS LE MAIL SERA ENVOYER else{ $("#formContactID").submit(); /*var request_Form = $.ajax( { //url: $("#formContactID").attr('action'), url: "/portfolio_perso/controller/contactcontroller.php", type:"POST", data:$("#formContactID").serialize(), dataType: "json", }); request_Form.done(function(data) { console.log(data); $('#form_submit').remove(); var success= "<button type='submit' id='form_submit' class='btn btn-success btn-lg poster'>Envoyez avec succès</button>" $("#new_submit_repere").after(success); }); request_Form.fail(function( jqXHR, textStatus ) { alert( "Request failed: " + textStatus ); });*/ } } return false;// j'empêche le navigateur de soumettre lui-même le formulaire });

Je sais plus quoi faire, j'ai essayé tellement de chose, et encore après faut gérer le traitement en php, çà donne çà :

<?php if ( isset( $_POST['nom'],$_POST['prenom'],$_POST['email'],$_POST['objet'],$_POST['message'],$_POST['phone'],$_POST['projet'],$_POST['projet_titre'],$_POST['projet_date'],$_POST['projet_description'],$_POST['projet_budget'],$_FILES['projet_file'])) { //Valeurs plus loin mis à la base ////Déclaration des différentes variables $sent =false; $poidsvaleurEnMo=''; $extension_Uploaded=''; $form_projet_file=''; $form_projet_file['name']=''; $newChemin=''; $form_projet_titre=''; $form_projet_date=''; $form_projet_budget=''; $form_projet_description=''; //INFO PERSO $form_nom = strip_tags($_POST['nom']); $form_prenom = strip_tags($_POST['prenom']); $form_email = strip_tags($_POST['email']); $form_phone = strip_tags($_POST['phone']); $form_objet = strip_tags($_POST['objet']); $form_message = strip_tags($_POST['message']); $form_projet = strip_tags($_POST['projet']); //die(var_dump($form_nom,$form_prenom,$form_email,$form_phone,$form_objet,$form_message)); //var_dump($_POST); //var_dump(strlen($form_message)); $error_nom=[]; $error_prenom=[]; $error_mail=[]; $error_phone=[]; $error_objet=[]; $error_message=[]; //$errors=[$error_nom,$error_prenom,$error_mail,$error_phone,$error_objet,$error_message]; $regex_nom_prenom = "#^([a-zàáâäçèéêëìíîïñòóôöùúûü]+(( |')[a-zàáâäçèéêëìíîïñòóôöùúûü]+)*)+([-]([a-zàáâäçèéêëìíîïñòóôöùúûü]+(( |')[a-zàáâäçèéêëìíîïñòóôöùúûü]+)*)+)*$#iu"; $regex_tel = "^((\+|00)33\s?|0)[67](\s?\d{2}){4}$^"; //ancienne if(empty($form_nom)) { $error_nom[1]='Veuillez renseignez ce champ !'; } if( (!filter_var($form_nom, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$regex_nom_prenom)))) && (!empty($form_nom)) ) { $error_nom[2]='Invalide, reportez vous aux caractères autorisés !'; } if( ((strlen($form_nom) <= 1) || (strlen($form_nom) >= 51)) && (!empty($form_nom)) ) { $error_nom[3]='Veuillez respecter le nombre de caractères demandés !'; } if(empty($form_prenom)) { $error_prenom[1]='Veuillez renseignez ce champ !'; } if( (!filter_var($form_prenom, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$regex_nom_prenom)))) && (!empty($form_prenom))) { $error_prenom[2]='Invalide, reportez vous aux caractères autorisés !'; } if( ((strlen($form_prenom) <= 1) || (strlen($form_prenom) >= 71)) && (!empty($form_prenom))) { $error_prenom[3]='Veuillez respecter le nombre de caractères !'; } if(empty($form_email)) { $error_mail[1]='Veuillez renseignez votre email !'; } if((!filter_var($form_email, FILTER_VALIDATE_EMAIL)) && (!empty($form_email))) { $error_mail[2]='Veuillez respecter le format demandé !'; } if( (!filter_var($form_phone, FILTER_VALIDATE_REGEXP, array("options"=>array("regexp"=>$regex_tel)))) && (!empty($form_phone)) ) { $error_phone[1]='Veuillez respecter le format demandé !'; } if(empty($form_objet)) { $error_objet[1]="Veuillez renseignez ce champ !"; } if( ( (strlen($form_objet) <= 5) || (strlen($form_objet) >= 101) ) && (!empty($form_objet)) ) { $error_objet[2]="Veuillez respecter le nombre de caractères demandés !"; } if(empty($form_message)) { $error_message[1]='Veuillez renseignez ce champ !'; } if( ( (strlen($form_message) <= 29) || (strlen($form_message) >= 2001) ) && (!empty($form_message)) ) { $error_message[2]='Veuillez respecter le nombre de caractères demandés !'; } if($form_projet == 'true'){ $error_projet_titre=[]; $error_projet_date=[]; $error_projet_description=[]; $error_projet_budget=[]; $error_projet_file=[]; //TITRE $form_projet_titre = strip_tags($_POST['projet_titre']); if(empty($form_projet_titre)) { $error_projet_titre[1]='Veuillez renseignez ce champ !'; } if( ( (strlen($form_projet_titre) <= 3) || (strlen($form_projet_titre) >= 101) ) && (!empty($form_projet_titre)) ) { $error_projet_titre[2]="Veuillez respecter le nombre de caractères demandés !"; } //DATE //CHANGER LE FORMAT $array1 = array("/",".",":"," ","-"); $array2 = array("-","-","-","-","-"); $form_projet_date = str_replace( $array1,$array2,strip_tags($_POST['projet_date']) ); $date_explode = explode("-",$form_projet_date); $testdate=true; $date_newFormat=''; if (count($date_explode)==3 ) { $date_newFormat = $date_explode[2]."-".$date_explode[1]."-".$date_explode[0]; } if(empty($form_projet_date)) { $error_projet_date[1]='Veuillez renseignez ce champ !'; } if(!empty($form_projet_date)) { if (preg_match('#^([0-9]{2})([/-])([0-9]{2})\2([0-9]{4})$#', $form_projet_date, $m) == 1 && checkdate($m[3], $m[1], $m[4])) { $testdate=true; } else { $error_projet_date[2]='Veuillez respecter le format demandé !'; $testdate=false; } } $testdate_explode = date_parse_from_format("d-m-Y", $form_projet_date); $dateSaisie_time = mktime(0,0,0,$testdate_explode['month'],$testdate_explode['day'],$testdate_explode['year']); $dateCompare = date('d-m-Y', strtotime('+15 days')); $dateCompare_explode = date_parse_from_format("d-m-Y", $dateCompare); $dateCompare_time = mktime(0,0,0,$dateCompare_explode['month'],$dateCompare_explode['day'],$dateCompare_explode['year']); //die(var_dump($form_projet_date,$testdate_explode,$dateSaisie_time,$dateCompare,$dateCompare_explode,$dateCompare_time)); if( !empty($form_projet_date) && ($dateSaisie_time < $dateCompare_time) ) { $error_projet_date[3]="Veuillez entrer une date supérieure à 14 jours par rapport à aujourd'hui !"; } //DESCRIPTION $form_projet_description = strip_tags($_POST['projet_description']); if(empty($form_projet_description)) { $error_projet_description[1]='Veuillez renseignez ce champ !'; } if( ( (strlen($form_projet_description) <= 29) || (strlen($form_projet_description) >= 2001) ) && (!empty($form_projet_description)) ) { $error_projet_description[2]='Veuillez respecter le nombre de caractères demandés !'; } //BUDGET //COMPARAISON BUDGET INT OU FLOAT $form_projet_budget = (float) str_replace(",", ".",strip_tags($_POST['projet_budget'])); $form_projet_budget2 = intval(str_replace(",", ".",strip_tags($_POST['projet_budget']))); $budget_is_entier=true; if(empty($form_projet_budget)) { $error_projet_budget[1]='Veuillez renseignez ce champ !'; } if( ( (strlen($form_projet_budget) <= 2) || (strlen($form_projet_budget) >= 9) ) && (!empty($form_projet_budget)) ) { $error_projet_budget[2]="Veuillez respecter le nombre de caractères demandés !"; } if( !empty($form_projet_budget) ) { if ( $form_projet_budget == $form_projet_budget2) { $budget_is_entier=true; } else{ $budget_is_entier=false; $error_projet_budget[3]="Veuillez saisir un NOMBRE ENTIER !"; } } if( (!empty($form_projet_budget)) && $form_projet_budget <= 400 ) { $error_projet_budget[4]="Veuillez saisir un nombre supérieure à 399 !"; } // FICHIER $form_projet_file = $_FILES['projet_file']; $extension_Valides = ["zip", "rar", "gz", "tgz","doc","docx","xls","xlsx","pdf"]; $extensionUploaded = strtolower(substr(strrchr($form_projet_file['type'],'/'),1)); $extension_Uploaded = strtolower(substr(strrchr($form_projet_file['name'],'.'),1)); $maxSize=20480000; $nomFile=''; if (!empty($form_projet_file['name'])) { $poidsvaleurEnMo=round( ($form_projet_file['size'] /(1024*1000)),2 ); if ( $form_projet_file['size']>$maxSize ) { $error_projet_file[1]="Le fichier est trop lourd (".$poidsvaleurEnMo." Mo), il ne doit pas dépasser 20 Mo !"; } $get_Extension = array_reverse(explode(".",$form_projet_file['name'])); if ( !in_array($extension_Uploaded, $extension_Valides) ) { $error_projet_file[2]="L'extension '".$get_Extension[0]."' n'est pas autorisé !"; } } if( empty($error_nom) && empty($error_prenom) && empty($error_mail) && empty($error_phone) && empty($error_objet) && empty($error_message) && empty($error_projet_titre) && empty($error_projet_date) && empty($error_projet_description) && empty($error_projet_budget) && (empty($error_projet_file) ) ) { // Si il n'y a pas d'erreur, upload du fichier if ( empty($error_projet_file) && !empty($form_projet_file['name']) ) { $nomFile = uniqid().'_'.$form_projet_file['name']; //$newChemin=DIR_CAHIER_CHARGES .$nomFile; $newChemin='view/cahier_des_charges/'.$nomFile; move_uploaded_file($form_projet_file['tmp_name'], $newChemin); } $dateContact = date('Y-m-d H:i:s'); //die(var_dump($form_nom,$form_prenom,$form_email,$form_phone,$form_objet,$form_message,$dateContact,$form_projet_titre,$form_projet_description,$form_projet_budget)); $connexion = getConnexion(); $sql = "Insert Into contact(nom,prenom,email,tel_portable,objet,message,date_time_envoi,projet_titre,projet_date,projet_description,projet_budget,projet_file) Values(:nom,:prenom,:email,:tel_portable,:objet,:message,:date_time_envoi,:projet_titre,:projet_date,:projet_description,:projet_budget,:projet_file)"; $requete = $connexion -> prepare($sql); $requete->bindValue(":nom",$form_nom,PDO::PARAM_STR); $requete->bindValue(":prenom",$form_prenom,PDO::PARAM_STR); $requete->bindValue(":email",$form_email,PDO::PARAM_STR); $requete->bindValue(":tel_portable",$form_phone,PDO::PARAM_STR); $requete->bindValue(":objet", $form_objet,PDO::PARAM_STR); $requete->bindValue(":message",$form_message,PDO::PARAM_STR); $requete->bindValue(":date_time_envoi", $dateContact,PDO::PARAM_STR); $requete->bindValue(":projet_titre", $form_projet_titre,PDO::PARAM_STR); $requete->bindValue(":projet_date", $date_newFormat,PDO::PARAM_STR); $requete->bindValue(":projet_description", $form_projet_description,PDO::PARAM_STR); $requete->bindValue(":projet_budget", intval($form_projet_budget),PDO::PARAM_INT); $requete->bindValue(":projet_file", $nomFile,PDO::PARAM_STR); $success = $requete -> execute(); // Gestion de mail //include(DIR_CONTROLLER."mailContact.php"); //include("controller/mailContact.php"); include("mailContact.php"); //Test de mail bien envoyé if($sent == true ) { if (array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { // Traitement pour une réponse Ajax $messageAjax= array( 'message' => "Votre message a été envoyé avec succès !" ); die(json_encode($messageAjax)); } } } } elseif ($form_projet == 'false') { if( empty($error_nom) && empty($error_prenom) && empty($error_mail) && empty($error_phone) && empty($error_objet) && empty($error_message) ) { $dateContact = date('Y-m-d H:i:s'); $connexion = getConnexion(); $sql = "Insert Into contact(nom,prenom,email,tel_portable,objet,message,date_time_envoi) Values(:firstname,:lastname,:mail,:tel,:object,:message,:date)"; $requete = $connexion -> prepare($sql); $requete->bindValue(":firstname",$form_nom,PDO::PARAM_STR); $requete->bindValue(":lastname",$form_prenom,PDO::PARAM_STR); $requete->bindValue(":mail",$form_email,PDO::PARAM_STR); $requete->bindValue(":tel",$form_phone,PDO::PARAM_STR); $requete->bindValue(":object", $form_objet,PDO::PARAM_STR); $requete->bindValue(":message",$form_message,PDO::PARAM_STR); $requete->bindValue(":date", $dateContact,PDO::PARAM_STR); $success = $requete -> execute(); // Gestion de mail include("mailContact.php"); //Test de mail bien envoyé if($sent == true ) { if (array_key_exists('HTTP_X_REQUESTED_WITH', $_SERVER) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') { // Traitement pour une réponse Ajax $messageAjax= array( 'message' => "Votre message a été envoyé avec succès !" ); die(json_encode($messageAjax)); } } } } //header('Location:..'.DIR_PORT.'contact'); } // MEMO /* $myvar = '2'; if ($myvar == 2) //true if ($myvar === 2) //false */

1 réponse

antho07, il y a 10 ans

Bonjour,

Qu'indique la console javascript ? Qu'indique le débugger network ?

Quel est le problème rencontré?