IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

AJAX Discussion :

Récupérer les données postées via ajax en php impossible


Sujet :

AJAX

  1. #1
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2013
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2013
    Messages : 176
    Points : 90
    Points
    90
    Par défaut Récupérer les données postées via ajax en php impossible
    Bonjour,

    Je souhaite récupérer mes données pour le traitement vers ma base via ajax alors je fais comme ça:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
     
    //ENREGISTREMENT
                            function enregistrement(){
                                var donnees =  new FormData();
                                var ajax = new XMLHttpRequest();
                                var titre = $('#titre').val();
                                var description = $('#description').val();
                                if( $('input[name=posted]').is(':checked') ){
                                    donnees.append('posted' , 1 );
                                }
                                else{
                                    donnees.append('posted' , 0 );
                                }
                                donnees.append('titre', titre );
                                donnees.append('description', description );
     
                                var msg_erreur_titre = "<div id=\"conteneurCarte\"><div id=\"card_4\" class=\"card\"><div class=\"card-content red white-text col s12 m12 l12\"><i class=\"material-icons left\">report_problem</i>Vous devez renseigner le titre !</div></div></div>";
                                var msg_erreur_description = "<div id=\"conteneurCarte\"><div id=\"card_5\" class=\"card\"><div class=\"card-content red white-text col s12 m12 l12\"><i class=\"material-icons left\">report_problem</i>Vous devez renseigner la description !</div></div></div>";
     
                                if(titre === ''){
                                    $('#erreur_titre').html(msg_erreur_titre);
                                    $('#titre').attr("placeholder", "Saisissez le titre à cet emplacement...").val("").focus().blur();
                                    $("#conteneurCarte").css("display","block");
                                    $("#card_4").animate({"left":"0"},800);
                                }
                                else if(description === ''){
                                    $('#erreur_description').html(msg_erreur_description);
                                    $('#description').attr("placeholder", "Saisissez la description à cet emplacement...").val("").focus().blur();
                                    $("#conteneurCarte").css("display","block");
                                    $("#card_5").animate({"left":"0"},800);
                                }
                                else {  
                                    ajax.open("POST","fonctions/ajout.func.php");
                                    ajax.send(donnees);
                                    //document.location.href="index.php";
                                }//else
    }//function
    et je les récupère de cette façon:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
     
    // ENREGISTREMENT DE LA FICHE 
    function enregistrement(){
        include 'connexion.php';
     
    // Si le formulaire est bien posté et que les champs ne sont pas vides 
     
        /*Provisoire*/
        //if (!empty($_FILES)){
        if (isset($_POST['envoyer'],$_POST['titre'],$_POST['description']) && !empty($_POST['titre'] && !empty($_POST['description']))){
        /*Provisoire*/
     
     
            $titre = htmlspecialchars(trim($_POST['titre'])); 
            $description = htmlspecialchars(trim($_POST['description'])); 
            /*$titre = htmlspecialchars(trim($_SESSION['mon_tableau'][0])); 
            $description = htmlspecialchars(trim($_SESSION['mon_tableau'][1]));*/
     
            // Si pas d'erreur (donc si il y a une image)
            if(isset($_FILES['fichier']) && $_FILES['fichier']['error'] == 0){
                $chemin_photo = $_SESSION['image'];
            }
            // Si erreur (donc si pas d'image)
            else{
                unset ($_SESSION['image']);
                $chemin_photo = "defaut.png";
            }
            // La case à cocher
            if ($_POST['posted'] == 1)
                $posted = '1';
            else
                $posted = '0';
     
            try{
     
                #Requête préparée pour l'insertion
                $req = $bdd->prepare('INSERT INTO progressbar(titre, description, chemin_photo, posted) VALUES(:titre, :description, :chemin_photo, :posted)');
                $req->execute(array(
                    'titre'            => $titre,
                    'description'      => $description,
                    'chemin_photo'     => $chemin_photo,
                    'posted'           => $posted
                    ));
     
                }
            catch(Exception $e){
                    // en cas d'erreur :
                    echo " Erreur ! ".$e->getMessage();
                    echo " Les données : " ;
                    print_r($req);
                }
     
                $req->closeCursor(); // Termine le traitement de la requête
     
            header('location:../index.php?page=accueil');
        }//if
        /*else{
                echo "<div id=\"conteneurCarte\">
                            <div id=\"card_3\" class=\"card\">
                                <div class=\"card-content red white-text col s12 m12 l4\">
                                    <i class=\"material-icons left\">report_problem</i>
                                    Veuillez renseigner tous les champs !
                                </div>
                            </div>
                        </div>";  
        }*/// else
    }/
    Dans l'onglet POST du débogueur, je vois bien mes données qui apparaissent mais mon traitement ne se fait pas.
    Je vous remercie de votre aide.

  2. #2
    Membre régulier
    Homme Profil pro
    Lycéen
    Inscrit en
    Février 2013
    Messages
    176
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Orne (Basse Normandie)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Février 2013
    Messages : 176
    Points : 90
    Points
    90
    Par défaut
    je crois que je viens de m'apercevoir de mon erreur, j'ai oublié de transmettre mon bouton "Envoyer" alors que mon script PHP l'exige je testerai ça demain.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 1
    Dernier message: 29/12/2015, 16h24
  2. Réponses: 4
    Dernier message: 26/07/2013, 08h01
  3. [Débuter] QTcpServer, serveur HTTP : récupérer les données POST
    Par zilators dans le forum Réseau
    Réponses: 0
    Dernier message: 24/08/2011, 14h11
  4. récupérer les données postées et les trier (array)
    Par mdr_cedrick dans le forum Langage SQL
    Réponses: 3
    Dernier message: 18/11/2008, 14h09
  5. [MySQL] Récupérer les données sous forme de tableau PHP MySQL
    Par brajae85 dans le forum PHP & Base de données
    Réponses: 14
    Dernier message: 16/05/2008, 17h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo