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


Bonjour,

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

Quel est le problème rencontré?