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

jQuery Discussion :

Récuperer variable et enregistrer dans une BDD [AJAX]


Sujet :

jQuery

  1. #1
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut Récuperer variable et enregistrer dans une BDD
    Bonjour à tous,

    Je suis entrain d'insérer le Widget de Mondial Relay sur mon site

    Ci-joint le lien https://widget.mondialrelay.com/parc...mentation.aspx

    Je veux juste récupérer les valeurs et les enregistrer dans ma BDD. J'ai des notion en PHP mais pas du tous en java si vous pouvez m'aider.

    J'ai récupérer ce code :
    Code HTML : 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
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Exemple commentée d'une implémentation du Widget Mondial Relay</title>
     
            <!-- Appel de la librairie jQuery : c'est une librairie facilitant la programmation de script côté client -->
            <!-- Cette librairie est obligatoire car elle est utilisée par le widget Mondial Relay, elle doit être appellée en avant celle du Widget Mondial Relay -->
            <!-- Le symbole "$" commençant une instruction javascript sest caractéristique de l'utilisation de jQuery. -->
            <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
     
            <!-- Appel de la librairie Google Maps : c'est une librairie d'implémentation de cartographies -->
            <!-- Cette librairie est obligatoire car elle est utilisée par le widget Mondial Relay -->
            <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
     
            <!-- Appel de la librairie Widget Mondial Relay : c'est la librairie permettant la sélection de Point Relais -->
            <script type="text/javascript" src="https://widget.mondialrelay.com/parcelshop-picker/v3_0/scripts/jquery.plugin.mondialrelay.parcelshoppicker.js"></script>
     
            <!-- Début d'un script -->
            <script type="text/javascript">
     
     
                // Avec jQuery, exécute le script entre accolades uniquement après le chargement complet de la page
                $(document).ready(function () {
     
                    // Charge le widget dans la DIV d'id "Zone_Widget" avec les paramètres indiqués
                    $("#Zone_Widget").MR_ParcelShopPicker({
                        Target: "#Target_Widget"                                // Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (généralement un champ input hidden)
                        , TargetDisplay: "#TargetDisplay_Widget"                // Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (secondaire pour affichage)
                        , TargetDisplayInfoPR: "#TargetDisplayInfoPR_Widget"    // Selecteur JQuery de l'élément dans lequel seront renvoyé les coordonnées complètes de la selection de l'utilisateur
                        , Brand: "CC20RGFY"                                     // Le code client Mondial Relay
                                                                                // Lorsqu'il est indiqué "BDTEST  ", un message d'avertissement apprait pour avertir que ce sont les paramètres de test qui sont utilisés
                        , Country: "FR"                                         // Code ISO 2 lettres du pays utilisé pour la recherche
                        //,AllowedCountries: "FR"                               // Liste des pays selectionnable par l'utilisateur pour la recherche (codes ISO 2 lettres séparés par des virgules)
                        , PostCode: "59000"                                     // Code postal pour lancer une recherche par défaut
                        //,EnableGeolocalisatedSearch: ""                       // Active ou non la possibilité d'effectuer la recherche sur la position courante lorsque le navigateur de l'utilisateur supporte cette fonction (demande au navigateur)
                        , ColLivMod: "24R"                                      // Permet de filtrer les Points Relais selon le mode de livraison utilisé (Standard [24R], XL [24L], XXL [24X], Drive [DRI])
                        //,Weight: ""                                           // Permet de filtrer les Points Relais selon le Poids (en grammes) du colis à livrer
                        ,NbResults: "15"                                        // Nombre de Point Relais à renvoyer
                        ,SearchDelay: "15"                                      // Permet de spécifier le nombre de jour entre la recherche et la dépose du colis dans notre réseau
                        //,SearchFar: ""                                        // Permet de limiter la recherche des Points Relais à une distance maximum
                        //,CSS: "1"                                             // Permet de spécifier que vous souhaitez utiliser votre propre feuille de style CSS lorsque vous lui donnez la valeur "0"
                        //,MapScrollWheel: "false"                              // Active ou non le zoom on scroll sur la carte des résultats
                        //,MapStreetView: "false"                               // Active ou non le mode Street View sur la carte des résultats (attention aux quotas imposés par Google)
                        //,ShowResultsOnMap: "true"                             // Active ou non l'affichage des résultats sur une carte
                        , DisplayMapInfo: true
                        , OnParcelShopSelected:                                 // Permet l'appel d'une fonction lors de la selection d'un Point Relais
                            function (data) {                                   // Implémentation de la fonction de traitement, le paramètre Data contient un objet avec les informations du Point Relais
     
                                // Remplace les données de la balise ayant l'Id "cb_ID" par le contenu html de data.ID
                                // "data" est le paramètre reçu par la fonction, sont contenu est inconnu à la compilation
                                // "ID" est contenu dans "data", il pourrait y avoir une erreur si "ID" n'existe pas dans la variable "data" reçue en paramètre
                                $("#cb_ID").html(data.ID);
     
                                $("#cb_Nom").html(data.Nom);
                                $("#cb_Adresse").html(data.Adresse1 + ' ' + data.Adresse2);
                                $("#cb_CP").html(data.CP);
                                $("#cb_Ville").html(data.Ville);
                                $("#cb_Pays").html(data.Pays);
                            }
                         
                         
                         
                         
                    });
     
                });
            </script>

    Je pense que ceci n'est pas à mettre sur ma page
    Code HTML : 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
    </head>
    <body>
        <!-- C'est dans cette zone que le Widget sera chargé -->
        <div id="Zone_Widget"></div>
     
        <div style="padding:8px; overflow:auto;">
            <div style="background:#edffb2; border:solid 1px #a5f913; padding:5px; font-family:verdana; font-size:10px;">
     
                <em>Cette zone n'est pas située dans le Widget mais bien dans la page appelante.</em><br/><br/>
     
                <div style="display:inline-block; vertical-align:top;">
     
                    <!-- La balise ayant pour Id "TargetDisplay_Widget" a été paramétrée pour reçevoir l'ID du Point Relais sélectionné -->
                    Point Relais Selectionné : <input type="text" id="TargetDisplay_Widget"/><br/>
     
                    <!-- La balise ayant pour Id "Target_Widget" a été paramétrée pour reçevoir l'ID du Point Relais sélectionné -->
                    Hidden : <input type="text" id="Target_Widget" /><br/>
     
                    <!-- La balise ayant pour Id "TargetDisplayInfoPR_Widget" a été paramétrée pour reçevoir l'adresse du Point Relais sélectionné -->
                    InfosPR : <span id="TargetDisplayInfoPR_Widget" />
     
                </div>
     
     
     
                <div style="display:inline-block;">
                    <!-- Les balises suivantes sont utilisées dans la fonction de CallBack pour reçevoir des données à afficher -->
                    <span style="font-weight:bold;text-decoration:underline;">Callback zone</span><br/>
                    data.ID = <span id="cb_ID"></span><br/>
                    data.Nom = <span id="cb_Nom"></span><br/>
                    data.Adresse = <span id="cb_Adresse"></span><br/>
                    data.CP = <span id="cb_CP"></span><br/>
                    data.Ville = <span id="cb_Ville"></span><br/>
                    data.Pays = <span id="cb_Pays"></span><br/>
                </div>
            </div>
        </div>
    </body>
    </html>

    Ce que je voudrais c'est inserer dans ma BDD c'est valeur:

    Code HTML : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
                   <span style="font-weight:bold;text-decoration:underline;">Callback zone</span><br/>
                    data.ID = <span id="cb_ID"></span><br/>
                    data.Nom = <span id="cb_Nom"></span><br/>
                    data.Adresse = <span id="cb_Adresse"></span><br/>
                    data.CP = <span id="cb_CP"></span><br/>
                    data.Ville = <span id="cb_Ville"></span><br/>
                    data.Pays = <span id="cb_Pays"></span><br/>

    Merci pour votre aide

  2. #2
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 498
    Par défaut
    bonjour,
    a tu essayé TON CODE javascript? qu'est ce que tu as fait?

  3. #3
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Oui vous pouvez le voir ici

    http://babybroderie.fr/test_mondial.php

    On m'a parlé de faire un AJAX Request mais j'y connait vraiment rien.

    Merci

  4. #4
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 498
    Par défaut
    d'accord, et le fichier php qui va récupérer les données du formulaire, comment tu l'as codé?

  5. #5
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Je vais certainement récupérer les info comme ceci
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $_POST['ID']=$id;
    $_POST['NOM']=$nom;
    $_POST['ADRESSE']=$adresse;
    $_POST['CP']=$cp;
    $_POST['VILLE']=$ville;
    $_POST['PAYS']=$pays;
    ?>
    Mais cela reste encore à définir

  6. #6
    Modérateur

    Avatar de NoSmoking
    Homme Profil pro
    Inscrit en
    Janvier 2011
    Messages
    17 198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 17 198
    Par défaut
    Bonjour,
    à quel moment mets-tu à jour les champs de ton formulaire à savoir
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
        <form method="POST" action="test2.php">
            <input type="hidden" value='<span id="cb_ID"></span>' name="ID">
            <input type="hidden" value='<span id="cb_Nom"></span>' name="NOM">
            <input type="hidden" value='<span id="cb_Adresse"></span>' name="ADRESSE">
            <input type="hidden" value='<span id="cb_CP"></span>' name="CP">
            <input type="hidden" value='<span id="cb_Ville"></span>' name="VILLE">
            <input type="hidden" value='<span id="cb_Pays"></span>' name="PAYS">
            <input type="submit" value="Envoi du formulaire">
        </form>

  7. #7
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Pour que ce soit plus lisible pour vous ma page

    test_mondial.php
    Code PHP : 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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Exemple commentée d'une implémentation du Widget Mondial Relay</title>
     
    		<!-- Appel de la librairie jQuery : c'est une librairie facilitant la programmation de script côté client -->
    		<!-- Cette librairie est obligatoire car elle est utilisée par le widget Mondial Relay, elle doit être appellée en avant celle du Widget Mondial Relay -->
    		<!-- Le symbole "$" commençant une instruction javascript sest caractéristique de l'utilisation de jQuery. -->
            <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
     
    		<!-- Appel de la librairie Google Maps : c'est une librairie d'implémentation de cartographies -->
    		<!-- Cette librairie est obligatoire car elle est utilisée par le widget Mondial Relay -->
            <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
     
    		<!-- Appel de la librairie Widget Mondial Relay : c'est la librairie permettant la sélection de Point Relais -->
            <script type="text/javascript" src="https://widget.mondialrelay.com/parcelshop-picker/v3_2_1/scripts/jquery.plugin.mondialrelay.parcelshoppicker.js"></script>
     
    		<!-- Début d'un script -->
            <script type="text/javascript">
     
     
                // Avec jQuery, exécute le script entre accolades uniquement après le chargement complet de la page
                $(document).ready(function () {
     
                    // Charge le widget dans la DIV d'id "Zone_Widget" avec les paramètres indiqués
                    $("#Zone_Widget").MR_ParcelShopPicker({
                        Target: "#Target_Widget"								// Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (généralement un champ input hidden)
    					, TargetDisplay: "#TargetDisplay_Widget"				// Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (secondaire pour affichage)
                        , TargetDisplayInfoPR: "#TargetDisplayInfoPR_Widget"	// Selecteur JQuery de l'élément dans lequel seront renvoyé les coordonnées complètes de la selection de l'utilisateur
                        , Brand: "CC20RGFY"										// Le code client Mondial Relay
                                                                                // Lorsqu'il est indiqué "BDTEST  ", un message d'avertissement apprait pour avertir que ce sont les paramètres de test qui sont utilisés
                        , Country: "FR"											// Code ISO 2 lettres du pays utilisé pour la recherche
                        //,AllowedCountries: "FR"								// Liste des pays selectionnable par l'utilisateur pour la recherche (codes ISO 2 lettres séparés par des virgules)
                        , PostCode: "59000" 									// Code postal pour lancer une recherche par défaut
                        //,EnableGeolocalisatedSearch: ""						// Active ou non la possibilité d'effectuer la recherche sur la position courante lorsque le navigateur de l'utilisateur supporte cette fonction (demande au navigateur)
    					, ColLivMod: "24R"										// Permet de filtrer les Points Relais selon le mode de livraison utilisé (Standard [24R], XL [24L], XXL [24X], Drive [DRI])
                        //,Weight: ""											// Permet de filtrer les Points Relais selon le Poids (en grammes) du colis à livrer
                        ,NbResults: "15"										// Nombre de Point Relais à renvoyer
                        ,SearchDelay: "15"										// Permet de spécifier le nombre de jour entre la recherche et la dépose du colis dans notre réseau
                        //,SearchFar: ""										// Permet de limiter la recherche des Points Relais à une distance maximum
                        //,CSS: "1"												// Permet de spécifier que vous souhaitez utiliser votre propre feuille de style CSS lorsque vous lui donnez la valeur "0"
                        //,MapScrollWheel: "false"								// Active ou non le zoom on scroll sur la carte des résultats
                        //,MapStreetView: "false"								// Active ou non le mode Street View sur la carte des résultats (attention aux quotas imposés par Google)
                        //,ShowResultsOnMap: "true"								// Active ou non l'affichage des résultats sur une carte
                        , DisplayMapInfo: true
                        , OnParcelShopSelected: 					            // Permet l'appel d'une fonction lors de la selection d'un Point Relais
                           function (data) {                                   // Implémentation de la fonction de traitement, le paramètre Data contient un objet avec les informations du Point Relais 
     
                                // Remplace les données de la balise ayant l'Id "cb_ID" par le contenu html de data.ID 
                                // "data" est le paramètre reçu par la fonction, sont contenu est inconnu à la compilation 
                                // "ID" est contenu dans "data", il pourrait y avoir une erreur si "ID" n'existe pas dans la variable "data" reçue en paramètre 
                                $("#cb_ID").html(data.ID); 
     
                                $("#cb_Nom").html(data.Nom); 
                                $("#cb_Adresse").html(data.Adresse1 + ' ' + data.Adresse2); 
                                $("#cb_CP").html(data.CP); 
                                $("#cb_Ville").html(data.Ville); 
                                $("#cb_Pays").html(data.Pays); 
                            } 
     
     
     
     
                    });
     
                });
            </script>
     
    </head>
    <body>
    	<!-- C'est dans cette zone que le Widget sera chargé -->
        <div id="Zone_Widget"></div>
     
        <div style="padding:8px; overflow:auto;">
            <div style="background:#edffb2; border:solid 1px #a5f913; padding:5px; font-family:verdana; font-size:10px;">
     
                <em>Cette zone n'est pas située dans le Widget mais bien dans la page appelante.</em><br/><br/>
     
    			<div style="display:inline-block; vertical-align:top;">
     
    				<!-- La balise ayant pour Id "TargetDisplay_Widget" a été paramétrée pour reçevoir l'ID du Point Relais sélectionné -->
    				Point Relais Selectionné : <input type="text" id="TargetDisplay_Widget"/><br/>
     
    				<!-- La balise ayant pour Id "Target_Widget" a été paramétrée pour reçevoir l'ID du Point Relais sélectionné -->
    				Hidden : <input type="text" id="Target_Widget" /><br/>
     
    				<!-- La balise ayant pour Id "TargetDisplayInfoPR_Widget" a été paramétrée pour reçevoir l'adresse du Point Relais sélectionné -->
    				InfosPR : <span id="TargetDisplayInfoPR_Widget" />
     
    			</div>
     
     
     
    			<div style="display:inline-block;">
    				<!-- Les balises suivantes sont utilisées dans la fonction de CallBack pour reçevoir des données à afficher -->
    				<span style="font-weight:bold;text-decoration:underline;">Callback zone</span><br/>
    				data.ID = <span id="cb_ID"></span><br/>
    				data.Nom = <span id="cb_Nom"></span><br/>
    				data.Adresse = <span id="cb_Adresse"></span><br/>
    				data.CP = <span id="cb_CP"></span><br/>
    				data.Ville = <span id="cb_Ville"></span><br/>
    				data.Pays = <span id="cb_Pays"></span><br/>
    			</div>
            </div>
    	</div>
     
    	 <form method="POST" action="test2.php">
            <input type="hidden" value='<span id="cb_ID"></span>' name="ID">
            <input type="hidden" value='<span id="cb_Nom"></span>' name="NOM">
            <input type="hidden" value='<span id="cb_Adresse"></span>' name="ADRESSE">
            <input type="hidden" value='<span id="cb_CP"></span>' name="CP">
            <input type="hidden" value='<span id="cb_Ville"></span>' name="VILLE">
            <input type="hidden" value='<span id="cb_Pays"></span>' name="PAYS">
            <input type="submit" value="Envoi du formulaire">
        </form>
     
    </body>
    </html>

    page test2
    Code PHP : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    <?php
    $_POST['ID']=$id;
    $_POST['NOM']=$nom;
    $_POST['ADRESSE']=$adresse;
    $_POST['CP']=$cp;
    $_POST['VILLE']=$ville;
    $_POST['PAYS']=$pays;
    ?>

    Voila

  8. #8
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 498
    Par défaut
    bonjour,
    je pense que dans ton cas, tu n'est pas obligé de passer par $.ajax(), mais si t'insistes à l'utiliser je te donne un petit exemple d'une insertion des données d'un formulaire, et c'est a toi de le modifier selon tes besoins.
    ne pas oublier de modifier le nom de la base de donnée test par le nom de ta base ET le nom de la table mondial_relay par le nom de ta table.
    Code HTML : 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
    <!DOCTYPE html>
    <html>
    	<head>
    		<script src='https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script>
    		<script>
                    $(document).ready(function(){
                    $('input[type="submit"]').click(function(e){
                            e.preventDefault();
                            $.ajax({
                                    url:'post.php'//chemin du fichier php
                                    ,type:'post'//avec jQuery 3.3.1 "type" devient "method"
                                    ,data:{// data qui sera envoyée au fichier php
                                            id:$($('input[name="ID"]').val()).text()
                                            ,nom:$($('input[name="NOM"]').val()).text()
                                            ,adresse:$($('input[name="ADRESSE"]').val()).text()
                                            ,cp:$($('input[name="CP"]').val()).text()
                                            ,ville:$($('input[name="VILLE"]').val()).text()
                                            ,pays:$($('input[name="PAYS"]').val()).text()
                                    }
                                    ,dataType:'json'//type de data envoyée.
                                    ,success:function(s){//réussite
                                            if(!s.erreur){
                                                    console.log("success :"+JSON.stringify(s));
                                            }
                                            else alert(s.erreur);
                                    }
                                    ,error:function(err){//erreur
                                            alert(err.responseText);
                                    }
                            });
                    });
                      
                    });
                    
                    </script>
    	</head>
    	<body>
    	    <form method="POST">
            <input type="hidden" value='<span id="cb_ID"></span>' name="ID">
            <input type="hidden" value='<span id="cb_Nom"></span>' name="NOM">
            <input type="hidden" value='<span id="cb_Adresse"></span>' name="ADRESSE">
            <input type="hidden" value='<span id="cb_CP"></span>' name="CP">
            <input type="hidden" value='<span id="cb_Ville"></span>' name="VILLE">
            <input type="hidden" value='<span id="cb_Pays"></span>' name="PAYS">
            <input type="submit" value="Envoi du formulaire">
        </form>
    	</body>
    </html>

    le fichier php :
    Code PHP : 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
    <?php
    $id=$_POST['id'];
    $nom=$_POST['nom'];
    $adresse=$_POST['adresse'];
    $cp=$_POST['cp'];
    $ville=$_POST['ville'];
    $pays=$_POST['pays'];
    $reponse=[];
    //connexion a la base nomée (test):
    try {
    	$connex=new PDO('mysql:host=localhost;dbname=test', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    	if(!empty($id)&&!empty($nom)&&!empty($adresse)&&!empty($cp)&&!empty($ville)&&!empty($pays)){
    		$req='insert into mondial_relay values(:id,:nom,:adresse,:cp,:ville,:pays)';
    		$res=$connex->prepare($req);
    		$res->execute([':id'=>$id,':nom'=>$nom,':adresse'=>$adresse,':cp'=>$cp,':ville'=>$ville,':pays'=>$pays]);
    		$reponse=['id'=>$id,'nom'=>$nom,'adresse'=>$adresse,'cp'=>$cp,'ville'=>$ville,'pays'=>$pays];
    	}
    	else{
    		$reponse['erreur']='vous devriez remplire tout les champs.';
    	}
     
    }
    catch(Exception $e){
    	$reponse['erreur']=$e->getMessage();
    	die('erreur de connexion a la base.');
    }
    //fin connexion.
     
    echo json_encode($reponse); 
    ?>

  9. #9
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Salut,

    J'insiste pas sur AJAX ^^ mais si tu as une autre méthode montre moi.

    Je viens de regarder mais ce que tu m'as fais cela ne va pas vraiment car le formulaire à d'autres entrées.

    Ce que je voulais c'est quand je clique sur valider, la variable $nom, par exemple, trouve la valeur avec un GET et moi je l'enregistrerai avec le code actuel.

    Merci pour ton aide

  10. #10
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 498
    Par défaut
    si tu ne veux pas utiliser $.ajax tu peux le faire autrement.

    index.php :
    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
     
    <!DOCTYPE html>
    <html>
    	<head>
    		<!--<script src='js/jquery-3.1.1.js'></script>-->
    	</head>
    	<body>
    	    <form method="POST" action="post.php" >
            <input type="hidden" value='<span id="cb_ID"></span>' name="ID" >
            <input type="hidden" value='<span id="cb_Nom">rrrrs</span>' name="NOM">
            <input type="hidden" value='<span id="cb_Adresse">ADRESSE...</span>' name="ADRESSE">
            <input type="hidden" value='<span id="cb_CP">544344</span>' name="CP">
            <input type="hidden" value='<span id="cb_Ville">OUJDA</span>' name="VILLE">
            <input type="hidden" value='<span id="cb_Pays">MAROC</span>' name="PAYS">
            <input type="submit" value="Envoi du formulaire">
    		<?php 
                    if(isset($_GET['success'])){
                            $success=unserialize($_GET['success']);
                            echo '<br/>opération términée avec succès.<br/>';
                            forEach($success as $cle=>$val){
                                    echo $cle.':'.$val.'<br/>';
                            }
                    }
                    else if(isset($_GET['erreur'])){
                            $erreur=unserialize($_GET['erreur']);
                            forEach($erreur as $key=>$val){
                                    forEach($val as $key1=>$val1){
                                            echo '<br/>'.$val1.'<br/>';
                                    }
                            }
                    }
                    ?>
        </form>
    	</body>
    </html>
    post.php :
    Code PHP : 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
     
    <?php
    $id=str_replace('<span id="cb_ID"></span>','',$_POST['ID']);
    $nom=str_replace('<span id="cb_Nom"></span>',"",$_POST['NOM']);
    $adresse=str_replace('<span id="cb_Adresse"></span>',"",$_POST['ADRESSE']);
    $cp=str_replace('<span id="cb_CP"></span>',"",$_POST['CP']);
    $ville=str_replace('<span id="cb_Ville"></span>',"",$_POST['VILLE']);
    $pays=str_replace('<span id="cb_Pays"></span>',"",$_POST['PAYS']);
    $reponse=[];
     
    	if(!empty($id)&&!empty($nom)&&!empty($adresse)&&!empty($cp)&&!empty($ville)&&!empty($pays)){
    		try {
    			$connex=new PDO('mysql:host=localhost;dbname=test', 'root', '', array(PDO::MYSQL_ATTR_INIT_COMMAND => 'SET NAMES utf8'));
    			$req='insert into mondial_relay values(:id,:nom,:adresse,:cp,:ville,:pays)';
    			$res=$connex->prepare($req);
    			$res->execute([':id'=>$id,':nom'=>$nom,':adresse'=>$adresse,':cp'=>$cp,':ville'=>$ville,':pays'=>$pays]);//execution
    			$reponse=['id'=>$id,'nom'=>$nom,'adresse'=>$adresse,'cp'=>$cp,'ville'=>$ville,'pays'=>$pays];
    			header('Location:index.php?success='.serialize($reponse).'');
    		}catch(Exception $e){
    			$reponse['erreur']=$e->getMessage();
    			die('erreur de connexion a la base.');
    		}
     
    	}
    	else{
    		$reponse['erreur']=[];
    		empty($id)?$reponse['erreur']['id']='Id ne doit pas être vide.':'';
    		empty($nom)?$reponse['erreur']['nom']='Nom ne doit pas être vide.':'';
    		empty($adresse)?$reponse['erreur']['adresse']='l\'adresse ne doit pas être vide.':'';
    		empty($cp)?$reponse['erreur']['cp']='CP ne doit pas être vide.':'';
    		empty($ville)?$reponse['erreur']['ville']='La ville ne doit pas être vide.':'';
    		empty($pays)?$reponse['erreur']['pays']='Le pays ne doit pas être vide.':'';
    		$reponse['erreur']['msg']='vous devriez remplire tout les champs.';
    		header('Location:index.php?erreur='.serialize($reponse).'');
    	}
     
    //echo var_dump($reponse);
    ?>

  11. #11
    Membre averti
    Profil pro
    Responsable des études
    Inscrit en
    Mai 2006
    Messages
    12
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Somme (Picardie)

    Informations professionnelles :
    Activité : Responsable des études
    Secteur : Bâtiment

    Informations forums :
    Inscription : Mai 2006
    Messages : 12
    Par défaut
    Je viens de tester. Je légèrement modifié ton 2ème code. J'ai fais affichage des variables pour vois si elle ne sont pas vide et là elles sont vides.

    Voici mes codes entiers

    test_mondial.php
    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
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    118
    119
    120
    121
    122
    123
    124
    125
    126
    127
    128
    129
    130
    131
    132
    133
    134
    135
    136
    137
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Exemple commentée d'une implémentation du Widget Mondial Relay</title>
     
    		<!-- Appel de la librairie jQuery : c'est une librairie facilitant la programmation de script côté client -->
    		<!-- Cette librairie est obligatoire car elle est utilisée par le widget Mondial Relay, elle doit être appellée en avant celle du Widget Mondial Relay -->
    		<!-- Le symbole "$" commençant une instruction javascript sest caractéristique de l'utilisation de jQuery. -->
            <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
     
    		<!-- Appel de la librairie Google Maps : c'est une librairie d'implémentation de cartographies -->
    		<!-- Cette librairie est obligatoire car elle est utilisée par le widget Mondial Relay -->
            <script type="text/javascript" src="https://maps.googleapis.com/maps/api/js?sensor=false"></script>
     
    		<!-- Appel de la librairie Widget Mondial Relay : c'est la librairie permettant la sélection de Point Relais -->
            <script type="text/javascript" src="https://widget.mondialrelay.com/parcelshop-picker/v3_2_1/scripts/jquery.plugin.mondialrelay.parcelshoppicker.js"></script>
     
    		<!-- Début d'un script -->
            <script type="text/javascript">
     
     
                // Avec jQuery, exécute le script entre accolades uniquement après le chargement complet de la page
                $(document).ready(function () {
     
                    // Charge le widget dans la DIV d'id "Zone_Widget" avec les paramètres indiqués
                    $("#Zone_Widget").MR_ParcelShopPicker({
                        Target: "#Target_Widget"								// Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (généralement un champ input hidden)
    					, TargetDisplay: "#TargetDisplay_Widget"				// Selecteur JQuery de l'élément dans lequel sera renvoyé l'ID du Point Relais sélectionné (secondaire pour affichage)
                        , TargetDisplayInfoPR: "#TargetDisplayInfoPR_Widget"	// Selecteur JQuery de l'élément dans lequel seront renvoyé les coordonnées complètes de la selection de l'utilisateur
                        , Brand: "CC20RGFY"										// Le code client Mondial Relay
                                                                                // Lorsqu'il est indiqué "BDTEST  ", un message d'avertissement apprait pour avertir que ce sont les paramètres de test qui sont utilisés
                        , Country: "FR"											// Code ISO 2 lettres du pays utilisé pour la recherche
                        //,AllowedCountries: "FR"								// Liste des pays selectionnable par l'utilisateur pour la recherche (codes ISO 2 lettres séparés par des virgules)
                        , PostCode: "59000" 									// Code postal pour lancer une recherche par défaut
                        //,EnableGeolocalisatedSearch: ""						// Active ou non la possibilité d'effectuer la recherche sur la position courante lorsque le navigateur de l'utilisateur supporte cette fonction (demande au navigateur)
    					, ColLivMod: "24R"										// Permet de filtrer les Points Relais selon le mode de livraison utilisé (Standard [24R], XL [24L], XXL [24X], Drive [DRI])
                        //,Weight: ""											// Permet de filtrer les Points Relais selon le Poids (en grammes) du colis à livrer
                        ,NbResults: "15"										// Nombre de Point Relais à renvoyer
                        ,SearchDelay: "15"										// Permet de spécifier le nombre de jour entre la recherche et la dépose du colis dans notre réseau
                        //,SearchFar: ""										// Permet de limiter la recherche des Points Relais à une distance maximum
                        //,CSS: "1"												// Permet de spécifier que vous souhaitez utiliser votre propre feuille de style CSS lorsque vous lui donnez la valeur "0"
                        //,MapScrollWheel: "false"								// Active ou non le zoom on scroll sur la carte des résultats
                        //,MapStreetView: "false"								// Active ou non le mode Street View sur la carte des résultats (attention aux quotas imposés par Google)
                        //,ShowResultsOnMap: "true"								// Active ou non l'affichage des résultats sur une carte
                        , DisplayMapInfo: true
                        , OnParcelShopSelected: 					            // Permet l'appel d'une fonction lors de la selection d'un Point Relais
                           function (data) {                                   // Implémentation de la fonction de traitement, le paramètre Data contient un objet avec les informations du Point Relais 
     
                                // Remplace les données de la balise ayant l'Id "cb_ID" par le contenu html de data.ID 
                                // "data" est le paramètre reçu par la fonction, sont contenu est inconnu à la compilation 
                                // "ID" est contenu dans "data", il pourrait y avoir une erreur si "ID" n'existe pas dans la variable "data" reçue en paramètre 
                                $("#cb_ID").html(data.ID); 
     
                                $("#cb_Nom").html(data.Nom); 
                                $("#cb_Adresse").html(data.Adresse1 + ' ' + data.Adresse2); 
                                $("#cb_CP").html(data.CP); 
                                $("#cb_Ville").html(data.Ville); 
                                $("#cb_Pays").html(data.Pays); 
                            } 
     
     
     
     
                    });
     
                });
            </script>
     
     
    </head>
    <body>
    	<!-- C'est dans cette zone que le Widget sera chargé -->
        <div id="Zone_Widget"></div>
     
        <div style="padding:8px; overflow:auto;">
            <div style="background:#edffb2; border:solid 1px #a5f913; padding:5px; font-family:verdana; font-size:10px;">
     
                <em>Cette zone n'est pas située dans le Widget mais bien dans la page appelante.</em><br/><br/>
     
    			<div style="display:inline-block; vertical-align:top;">
     
    				<!-- La balise ayant pour Id "TargetDisplay_Widget" a été paramétrée pour reçevoir l'ID du Point Relais sélectionné -->
    				Point Relais Selectionné : <input type="text" id="TargetDisplay_Widget"/><br/>
     
    				<!-- La balise ayant pour Id "Target_Widget" a été paramétrée pour reçevoir l'ID du Point Relais sélectionné -->
    				Hidden : <input type="text" id="Target_Widget" /><br/>
     
    				<!-- La balise ayant pour Id "TargetDisplayInfoPR_Widget" a été paramétrée pour reçevoir l'adresse du Point Relais sélectionné -->
    				InfosPR : <span id="TargetDisplayInfoPR_Widget" />
     
    			</div>
     
     
     
    			<div style="display:inline-block;">
    				<!-- Les balises suivantes sont utilisées dans la fonction de CallBack pour reçevoir des données à afficher -->
    				<span style="font-weight:bold;text-decoration:underline;">Callback zone</span><br/>
    				data.ID = <span id="cb_ID"></span><br/>
    				data.Nom = <span id="cb_Nom"></span><br/>
    				data.Adresse = <span id="cb_Adresse"></span><br/>
    				data.CP = <span id="cb_CP"></span><br/>
    				data.Ville = <span id="cb_Ville"></span><br/>
    				data.Pays = <span id="cb_Pays"></span><br/>
    			</div>
            </div>
    	</div>
     
    <form method="POST" action="test2.php" >
            <input type="hidden" value='<span id="cb_ID"></span>' name="ID" >
            <input type="hidden" value='<span id="cb_Nom"></span>' name="NOM">
            <input type="hidden" value='<span id="cb_Adresse"></span>' name="ADRESSE">
            <input type="hidden" value='<span id="cb_CP"></span>' name="CP">
            <input type="hidden" value='<span id="cb_Ville"></span>' name="VILLE">
            <input type="hidden" value='<span id="cb_Pays"></span>' name="PAYS">
            <input type="submit" value="Envoi du formulaire">
    		<?php 
                    if(isset($_GET['success'])){
                            $success=unserialize($_GET['success']);
                            echo '<br/>opération términée avec succès.<br/>';
                            forEach($success as $cle=>$val){
                                    echo $cle.':'.$val.'<br/>';
                            }
                    }
                    else if(isset($_GET['erreur'])){
                            $erreur=unserialize($_GET['erreur']);
                            forEach($erreur as $key=>$val){
                                    forEach($val as $key1=>$val1){
                                            echo '<br/>'.$val1.'<br/>';
                                    }
                            }
                    }
                    ?>
        </form>
     
    </body>
    </html>
    test2.php
    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
     
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>Exemple commentée d'une implémentation du Widget Mondial Relay</title>
     
     
     
    </head>
    <body>
     
    <?php
    $id=str_replace('<span id="cb_ID"></span>','',$_POST['ID']);
    $nom=str_replace('<span id="cb_Nom"></span>',"",$_POST['NOM']);
    $adresse=str_replace('<span id="cb_Adresse"></span>',"",$_POST['ADRESSE']);
    $cp=str_replace('<span id="cb_CP"></span>',"",$_POST['CP']);
    $ville=str_replace('<span id="cb_Ville"></span>',"",$_POST['VILLE']);
    $pays=str_replace('<span id="cb_Pays"></span>',"",$_POST['PAYS']);
    $reponse=[];
     
     
    	if(!empty($nom)&&!empty($adresse)&&!empty($cp)){
    		echo $nom;
    		echo $adresse;
    		echo $cp;
    	} 
    	else{
    		echo 'elles sont vide ;( ';
    	}
     
     
     
    //echo var_dump($reponse);
    ?>
    </body>
    </html>
    Merci pour ton aide

    PS j'ai rajouter cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    							$("[name='ID']").val(data.ID);
    							$("[name='NOM']").val(data.Nom);
    							$("[name='ADRESSE']").val(data.Adresse1 + ' ' + data.Adresse2);
    							$("[name='CP']").val(data.CP);
    							$("[name='VILLE']").val(data.Ville);
    							$("[name='PAYS']").val(data.Pays);
    Et ça fonctionne maintenant tu peux tester ici

    https://babybroderie.fr/test_mondial.php

    Merci beaucoup de m'avoir aidé

  12. #12
    Expert confirmé Avatar de Toufik83
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2012
    Messages
    2 498
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Janvier 2012
    Messages : 2 498
    Par défaut
    appart le fonctionnement du code, je ne vois aucune insertion dans la base de donnée dans ton code php que tu m'a montré.
    puis normalement quand tu appuie sur valider la formulaire, la réponse doit apparaître dans la page test_mondial.php, ça veux dire que le serveur doit te rediriger vers cette page, ET pas vers teste2.php.
    et pour que ce soit propre, ils y a encore d'autres choses à modifier.
    1-maintenant on est en HTML5, donc la balise html
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
    doit être tout simplement 2-jQuery aussi on est a la version 3.3.1, vaut mieux d'utiliser la dernière version.

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

Discussions similaires

  1. [WD10] Récupérer le num d'enregistrement dans une BDD HF
    Par lepirate dans le forum WinDev
    Réponses: 7
    Dernier message: 11/07/2009, 17h59
  2. [WD10] Connaitre le numéro d'enregistrement dans une BDD HF ?
    Par lepirate dans le forum WinDev
    Réponses: 3
    Dernier message: 27/06/2009, 18h33
  3. Incrémenter une lettre pour enregistrement dans une bdd
    Par baggie dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/03/2008, 16h26
  4. Réponses: 2
    Dernier message: 17/04/2007, 11h44
  5. [C#] Supprimer un enregistrement dans une BDD
    Par Filippo dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/07/2006, 12h02

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