Partage
  • Partager sur Facebook
  • Partager sur Twitter

Utilisation Ajax et requete MySql

    8 octobre 2018 à 11:20:34

    Bonjour,

    voilà, je n'ai jamais utilisé Ajax de ma longue et monotone vie, et j'aimerai pouvoir comprendre un peu mieux son utilisation. Pour m'initier, j'ai un formulaire tout simple dans une page HTML  qui demande un email, un mot de passe non vide, vérifie leurs formalismes, et affiche un symbole d'erreur en rouge dans le champs si le formalisme est pas bon. Jusque là, tout va bien. Mes champs de formulaire (en version "light") sont :

    <input class="input100" type="text" name="email">
    <input class="input100" type="password" name="password">
    <button class="login100-form-btn" type="submit" >
    


    Mais j'aimerai maintenant aller plus loin, et vérifier l'existence de ce couple mail/mdp dans une bdd mysql tout en restant sur la page du formulaire au cas ou ce couple n'est pas bon. Mais je ne sais pas exactement où et comment dans  mon script de validation je peux faire çà.

    Mon JS de vérification de formalisme du mail et mdp non vide avec affichage du symbole d'erreur est le suivant :

    var input = $('.validation-input .input100');
    
        $('.validation-form').on('submit',function(){
            var check = true;
    
            for(var i=0; i<input.length; i++) {
                if(validation(input[i]) == false){
                    afficherValidation(input[i]);
                    check=false;
                }
            }
    
            return check;
        });
    
    
        $('.validation-form .input100').each(function(){
            $(this).focus(function(){
               cacherValidation(this);
            });
        });
    
        function validation (input) {
            if($(input).attr('type') == 'email' || $(input).attr('name') == 'email') {
            	
                if($(input).val().trim().match(/^([a-zA-Z0-9_\-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([a-zA-Z0-9\-]+\.)+))([a-zA-Z]{1,5}|[0-9]{1,3})(\]?)$/) == null) {
                    return false;
                }
            }
            else {
                if($(input).val().trim() == ''){
                    return false;
                }
            }
        }
    
        function afficherValidation(input) {
            var thisAlert = $(input).parent();
    
            $(thisAlert).addClass('alert-validation');
        }
    
        function cacherValidation(input) {
            var thisAlert = $(input).parent();
    
            $(thisAlert).removeClass('alert-validation');
        }

    mon soucis et que je ne sais pas comment transmettre les valeurs et appeler ma page "page-requete.php"; j'ai rajouté une balise script dans ma page html pour la requête mais rien ne se passe :(

    $(document).ready(function(){
    
        $("#submit").click(function{
    
            $.post(
                'page-requete.php', 
                {
                    email : $("#email").val(),
                    password : $("#password").val()
                }
    
             );
    
        });
    
    });

    Je sais pas trop m'en sortir, il ne se passe rien :( ma requete php n'est jamais appelée :/ 

    helllpppppppppp please :'(





    • Partager sur Facebook
    • Partager sur Twitter
      8 octobre 2018 à 11:44:22

      Tu retournes peut être false avec ton script

      $('.validation-form').on('submit',function(){
              var check = true;
       
              for(var i=0; i<input.length; i++) {
                  if(validation(input[i]) == false){
                      afficherValidation(input[i]);
                      check=false;
                  }
              }
       
              return check;
          });


      Donc, du coup, l'évènement du submit (click) que tu as définit en bas de page, n'est jamais appeler.

      • Partager sur Facebook
      • Partager sur Twitter
        8 octobre 2018 à 12:16:53

        j'ai vérifié, je retourne bien "true"...

        mes valeurs de formulaire se mettent dans l'url en haut du navigateur mais rien ne se passe ! :(

        • Partager sur Facebook
        • Partager sur Twitter
          8 octobre 2018 à 12:29:49

          $.ajax({
            method: "POST",
            url: "some.php",
            data: { name: "John", location: "Boston" }
          })
            .done(function( msg ) {
              alert( "Data Saved: " + msg );
            });
          ça marche mieux avec ça?
          • Partager sur Facebook
          • Partager sur Twitter
            8 octobre 2018 à 13:08:27

            nope.

            il ne se passe rien... toujours la même chose.

            les données de mon formulaire s'affichent dans l'url et c'est tout ! :-(

            • Partager sur Facebook
            • Partager sur Twitter
              8 octobre 2018 à 13:36:54

              je viens de le faire, toujours pareil ! :(

              • Partager sur Facebook
              • Partager sur Twitter
                8 octobre 2018 à 15:36:07

                Ton formulaire HTML est avec la méthode GET alors?
                • Partager sur Facebook
                • Partager sur Twitter
                  8 octobre 2018 à 17:14:57

                  je laisse tomber, c'est trop obscur pour moi. Je vais continuer d'envoyer mon formulaire à une page PHP, et je rechargerai la page du formulaire si c'est pas bon. Merci quand même.

                  • Partager sur Facebook
                  • Partager sur Twitter

                  Utilisation Ajax et requete MySql

                  × 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