Partage
  • Partager sur Facebook
  • Partager sur Twitter

Requête Ajax

    24 août 2011 à 14:46:57

    Bonjour
    Ma requête Ajax qui doit enregistré l'utilisateur dans la bdd
    ne marche pas.
    Voila mes code :

    <script type="text/javascript">
    
    function add_user(login, mdp, mail) {
                        $.ajax({
                                type: "POST",
                                url: "add_user.php",
                                data: "login="+login+"&mdp="+mdp+"&mail="+mail, 
                                dataType: "json",
                                error:  function(){
                                    alert("Une erreur s'est produite. Veuillez réessayer plus tard.");
                                },
                                success: function(){
                                    alert("Enregistrement effectué");
                                }
                        });
                        
                    }
    </script>
    
    <div id = "form">
                
                <form name="form_ins" method = "post" action= "dialog.html">
                <label for="login">Login :</label></br>
                <input type="text" name="login" id="login"/></br>
                
                <label for="pass">Votre mot de passe :</label></br>
                <input type="password" name="pass" id="pass" /></br>
                
                <label  id="labelo" for="pass2"> Répéter mot de passe :</label></br>
                <input type="password" name="pass2" id="pass2" /></br>
                
                <label for="mail">Mail :</label></br>
                <input type="text" name="mail" id="mail"/></br>
    
                </form>
     
            </div>
    


    add_user.php

    <?php
    include'core.php';
    
    	$login = $_POST['login'];
    	$mdp = $_POST['mdp'];
    	$mail = $_POST['mail'];
    	
      static function insertUser($_POST['login'],$_POST['mdp'],$_POST['mail']) {
       $conn =utilitaireFactory::connexionBD();
    	 $query ='INSERT INTO user(login,mdp,mail) VALUES(?,?,?)';
    	 $stmt = $conn->prepare($query);
    	 $stmt->bind_param('sss',$_POST['login'],$_POST['mdp'],$_POST['mail']);
    	 $stmt->execute();
    	 
    	 $stmt->close();
    	 $conn->close();
         }
    
    ?>
    


    Merci
    • Partager sur Facebook
    • Partager sur Twitter
      24 août 2011 à 16:41:19

      Salut,

      Déjà je ne vois pas de bouton qui appel ta fonction "add_user" dans ton formulaire.

      Ensuite c'est quoi cette "static function insertUser" dans ton code PHP, a quel moment appel tu cette fonction pour faire l'insertion ?
      • Partager sur Facebook
      • Partager sur Twitter
        24 août 2011 à 16:54:34

        Citation : badajoz

        Salut,

        Déjà je ne vois pas de bouton qui appel ta fonction "add_user" dans ton formulaire.

        Ensuite c'est quoi cette "static function insertUser" dans ton code PHP, a quel moment appel tu cette fonction pour faire l'insertion ?


        Je nais pas mis dans le code sur le site du zéro le lien qui l'appel

        Comment j'appel la fonction php ?
        Désolé mais je suis nouveaux en javascript.
        • Partager sur Facebook
        • Partager sur Twitter
          24 août 2011 à 17:03:19

          Si tu veu qu'on t'aide, il faut que tu mette tout le code utilisé, la il manque toute la partie Ajax et vu que sa marche pas sa doit être elle qui bug.
          • Partager sur Facebook
          • Partager sur Twitter
            24 août 2011 à 17:15:56

            menu.php
            <ul id="menu">
                        <li> <a class="actuel" title="lien01" href="/"><span>Accueil</span></a></li>
                        <li> <a title="lien02" href="/"><span>Présentation</span></a></li>
                        <li> <a title="lien03" id="connexion" href="javascript:void(0)"><span>Se connecter</span></a></li>
            			<li> <a title="lien05" id="inscription" href="javascript:void(0)"><span>Inscription</span></a></li>
                    </ul><!--/menu --> 
            		
            		    <script type="text/javascript"> <!--Inscription-->
                    
                        $(document).ready(function(){
                            
                                    
                            $('#inscription').click(function(){
                                $("#form").dialog('open');
                            });
                            
                             function add_user(login, mdp, mail) {
                                $.ajax({
                                        type: "POST",
                                        url: "../add_user.php",
                                        data: "login="+login+"&mdp="+mdp+"&mail="+mail, 
                                        dataType: "json",
                                        error:  function(){
                                            alert("Une erreur s'est produite. Veuillez réessayer plus tard.");
                                        },
                                        success: function(){
                                            alert("Enregistrement effectué");
                                        }
                                });
                                
                            }
            
                            $("#form").dialog({
            				    title: "Inscription",
                                autoOpen: false,
                                height: 300,
                                width: 190,
                                modal: true,
            					 buttons : {
                                        Valider : function(){
                                            add_user($('#login').val(), $('#pass').val(), $('#mail').val());
                                            $(this).dialog("close");
                                        },
                                }
                            });
                            
                        });
                        
                    </script>
            	
            	 <div id = "form">
                        
                        <form name="form_ins" method = "post" action= "dialog.html">
                        <label for="login">Login :</label></br>
                        <input type="text" name="login" id="login"/></br>
                        
                        <label for="pass">Votre mot de passe :</label></br>
                        <input type="password" name="pass" id="pass" /></br>
                        
                        <label  id="labelo" for="pass2"> Répéter mot de passe :</label></br>
                        <input type="password" name="pass2" id="pass2" /></br>
                        
                        <label for="mail">Mail :</label></br>
                        <input type="text" name="mail" id="mail"/></br>
            
                        </form>
             
                    </div>
            	
            	  <script type="text/javascript"> <!--Conenxion-->
                    
                        $(document).ready(function(){
                            
                                    
                            $('#connexion').click(function(){
                                $("#form1").dialog('open');
                            });
                            
                            function add_user(login, mdp, mail) {
                                $.ajax({
                                        type: "POST",
                                        url: "add_user.php",
                                        data: "login="+login+"&mdp="+mdp+"&mail="+mail, 
                                        dataType: "json",
                                        error:  function(){
                                            alert("Une erreur s'est produite. Veuillez réessayer plus tard.");
                                        },
                                        success: function(){
                                            alert("Enregistrement effectué");
                                        }
                                });
                                
                            }
            				
                            $("#form1").dialog({
            				    title: "Connexion",
                                autoOpen: false,               
                                width: 180,
                                modal: true,
            					 buttons : {
                                        Valider : function(){
                                            add_user($('#login').val(), $('#pass').val(), $('#mail').val());
                                            $(this).dialog("close");
                                        },
                                }
                            });
                            
                        });
                        
                    </script>
            	
            	 <div id = "form1">
                        
                        <form name="form_ins" method = "post" action= "dialog.html">
                        <label for="login1">Login :</label></br>
                        <input type="text" name="login1" id="login1"/></br>
                        
                        <label for="pass1">Votre mot de passe :</label></br>
                        <input type="password" name="pass1" id="pass1" /></br>
            
                        </form>
             
                    </div>
            




            add_user.php
            <?php
            include'core.php';
            
            	$login = $_POST['login'];
            	$mdp = $_POST['mdp'];
            	$mail = $_POST['mail'];
            	
              static function insertUser($_POST['login'],$_POST['mdp'],$_POST['mail']) {
               $conn =utilitaireFactory::connexionBD();
            	 $query ='INSERT INTO srl_user(login,mdp,mail) VALUES(?,?,?)';
            	 $stmt = $conn->prepare($query);
            	 $stmt->bind_param('sss',$login,$mdp,$mail);
            	 $stmt->execute();
            	 
            	 $stmt->close();
            	 $conn->close();
                 }
            
            ?>
            
            • Partager sur Facebook
            • Partager sur Twitter
              24 août 2011 à 18:08:25

              Bonjour,

              Je ne pense pas dire de bêtises si je te dis que ton lien ajax ne pointe pas vers ta fonction php mais vers ta page add_user. Or tu cherches à insérer un utilisateur ?!

              Pour être plus clair, essaye ça :

              <?php
              include'core.php';
              
               $login = $_POST['login'];
               $mdp = $_POST['mdp'];
               $mail = $_POST['mail'];
              
                
               $conn =utilitaireFactory::connexionBD();
               $query ='INSERT INTO user(login,mdp,mail) VALUES(?,?,?)';
               $stmt = $conn->prepare($query);
               $stmt->bind_param('sss',$_POST['login'],$_POST['mdp'],$_POST['mail']);
               $stmt->execute();
              	 
               $stmt->close();
               $conn->close();
              ?>
              


              En espérant que ça aille mieux .. ^^
              • Partager sur Facebook
              • Partager sur Twitter
                24 août 2011 à 18:11:36

                Non sa ne va pas mieux rien ne se passe dans la bdd
                • Partager sur Facebook
                • Partager sur Twitter
                  25 août 2011 à 9:58:59

                  Bonjour,

                  Du coup, je te propose d'y aller étape par étape.

                  D'abord, es tu sûr que les variables sont reçues par ton php ?

                  Si tu n'as pas vérifier, alors tu peux faire comme ceci :

                  Ton code php :
                  <?php
                  echo json_encode(array($_POST['login'],$_POST['mdp'],$_POST['mail'])); 
                  ?>
                  


                  Ton javascript :
                  <script type="text/javascript">
                  
                                   function add_user(login, mdp, mail) {
                                      $.ajax({
                                              type: "POST",
                                              url: "../add_user.php",
                                              data: "login="+login+"&mdp="+mdp+"&mail="+mail, 
                                              dataType: "json",
                                              error:  function(){
                                                  alert("Une erreur s'est produite. Veuillez réessayer plus tard.");
                                              },
                                              success: function(data){
                                                  alert("les données retournées : \n" + data);
                                              }
                                      });
                                      
                                  }
                  </script>
                  


                  Essaie déjà ceci, si ce n'est pas fait, pour savoir les tes infos sont correctement envoyé au php !
                  Peut-être que ca te permettra d'avancer :D

                  Bon courage !
                  • Partager sur Facebook
                  • Partager sur Twitter
                    25 août 2011 à 10:26:31

                    Citation : KiEcOo

                    Bonjour,

                    Du coup, je te propose d'y aller étape par étape.

                    D'abord, es tu sûr que les variables sont reçues par ton php ?

                    Si tu n'as pas vérifier, alors tu peux faire comme ceci :

                    Ton code php :

                    <?php
                    echo json_encode(array($_POST['login'],$_POST['mdp'],$_POST['mail'])); 
                    ?>
                    



                    Ton javascript :

                    <script type="text/javascript">
                    
                                     function add_user(login, mdp, mail) {
                                        $.ajax({
                                                type: "POST",
                                                url: "../add_user.php",
                                                data: "login="+login+"&mdp="+mdp+"&mail="+mail, 
                                                dataType: "json",
                                                error:  function(){
                                                    alert("Une erreur s'est produite. Veuillez réessayer plus tard.");
                                                },
                                                success: function(data){
                                                    alert("les données retournées : \n" + data);
                                                }
                                        });
                                        
                                    }
                    </script>
                    



                    Essaie déjà ceci, si ce n'est pas fait, pour savoir les tes infos sont correctement envoyé au php !
                    Peut-être que ca te permettra d'avancer :D

                    Bon courage !



                    Je met ou le code php que tu ma donné ?

                    Pour le javascript que tu ma donné le message "Une erreur s'est produite. Veuillez réessayer plus tard" s'affiche donc je ne peux pas voir les donné retourné
                    • Partager sur Facebook
                    • Partager sur Twitter
                      25 août 2011 à 11:09:15

                      Citation : Bazzoka


                      Je met ou le code php que tu ma donné ?



                      Tu remplaces ta script add_user.php par le code que je t'ai donné.

                      Citation : Bazzoka


                      Pour le javascript que tu ma donné le message "Une erreur s'est produite. Veuillez réessayer plus tard" s'affiche donc je ne peux pas voir les donné retourné



                      Cela signifie qu'il ne retourne pas TRUE sur l'execution de ton ajax.
                      Es-tu sûr du chemin d'accès à ton script : attention au ../ (ton script add_user.php ce trouve dans un dossier parent de ta page avec ton code javascipt ?)
                      • Partager sur Facebook
                      • Partager sur Twitter
                        25 août 2011 à 11:14:01

                        ma page menu.php se trouve dans un dossier include a la racine du site, add_user se trouve a la racine du site

                        J'ai remplacé le script add_user.php par le code que tu m'a donné sa affiche maintenant "Enregistrement effectué" (mais rien dans la bdd)
                        • Partager sur Facebook
                        • Partager sur Twitter
                          25 août 2011 à 11:39:44

                          C'est normal que tu n'enregistres rien dans la base de données...
                          Le script PHP que je t'ai donné retournait juste une finfo pour dire si oui, ou non il recevait bien les paramètres. As-tu fait le alert(data) comme je t'ai montré plus haut ? Si oui, est-ce que tu peux voir TOUTES les infos que tu as envoyé à PHP ?

                          Si oui, tu peux donc tout naturellement te dire que le problème vient de ton script PHP et non de ta requête ajax !

                          PS: si tu utilises Firefox, je te conseille d'installer l'extension FireBug qui te permettra d'observer le comportement de ta page (il s'agit d'un excellent outil :) )
                          • Partager sur Facebook
                          • Partager sur Twitter
                            25 août 2011 à 11:52:50

                            Les donné retourné s'affiche.
                            Comment je fais pour que le script pointe sur ma fonction ? :
                            <?php
                            include'core.php';
                            
                            	$login = $_POST['login'];
                            	$mdp = $_POST['mdp'];
                            	$mail = $_POST['mail'];
                            	
                              static function insertUser($_POST['login'],$_POST['mdp'],$_POST['mail']) {
                               $conn =utilitaireFactory::connexionBD();
                            	 $query ='INSERT INTO srl_user(login,mdp,mail) VALUES(?,?,?)';
                            	 $stmt = $conn->prepare($query);
                            	 $stmt->bind_param('sss',$login,$mdp,$mail);
                            	 $stmt->execute();
                            	 
                            	 $stmt->close();
                            	 $conn->close();
                                 }
                            
                            ?>
                            
                            • Partager sur Facebook
                            • Partager sur Twitter
                              25 août 2011 à 12:04:05

                              Du coup, tu peux savoir que ton problème vient de ton script PHP.

                              Citation : KiEcOo

                              Bonjour,

                              <?php
                              include'core.php';
                              
                               $login = $_POST['login'];
                               $mdp = $_POST['mdp'];
                               $mail = $_POST['mail'];
                              
                                
                               $conn =::connexionBD();
                               $query ='INSERT INTO user(login,mdp,mail) VALUES(?,?,?)';
                               $stmt = $conn->prepare($query);
                               $stmt->bind_param('sss',$_POST['login'],$_POST['mdp'],$_POST['mail']);
                               $stmt->execute();
                              	 
                               $stmt->close();
                               $conn->close();
                              ?>
                              



                              Est-ce que le format des données à enregistrer est bon ?
                              Après, je ne serai pas le meilleur pour t'aider ...
                              Tente peut-être de faire fonctionner correctement la fontion php avant de l'exécuter avec ta requête ajax.
                              • Partager sur Facebook
                              • Partager sur Twitter
                                25 août 2011 à 12:05:02

                                Oui le format des donné a enregistré est bon.
                                J'ai tester
                                • Partager sur Facebook
                                • Partager sur Twitter

                                Requête Ajax

                                × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
                                × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
                                • Editeur
                                • Markdown