Partage
  • Partager sur Facebook
  • Partager sur Twitter

Verification présence données bdd

    26 mars 2019 à 16:22:29

    Bonjour,

    Je viens de me lancer dans ajax/javascript.

    J'essaie de faire un code qui permet de voir en direct si un pseudo et/ou email est déjà présent dans le base de données lorsqu'on rempli un formulaire.

    Mais voilà, cela ne fonctionne pas. 

    Cela n'affiche aucun message, si une donnée est présente.

    Pourriez vous m'indiquer où est mon erreur ?

    Merci

    Javascript :

    $('document').ready(function(){
     var pseudo_state = false;
     var email_state = false;
     $('#pseudp').on('blur', function(){
      var pseudo = $('#pseudo').val();
      if (pseudo == '') {
      	pseudo_state = false;
      	return;
      }
      $.ajax({
        url: 'check-data.php',
        type: 'post',
        data: {
        	'pseudo_check' : 1,
        	'pseudo' : pseudo,
        },
        success: function(response){
          if (response == 'taken' ) {
          	pseudo_state = false;
    		var pseudo_comp = document.getElementById("pseudocomp");
          	pseudocomp.innerHTML = "<span style='color:#A90D0F;'> Le pseudo est déjà utilisé</span>";
          }
        }
      });
     });		
      $('#email').on('blur', function(){
     	var email = $('#email').val();
     	if (email == '') {
     		email_state = false;
     		return;
     	}
     	$.ajax({
          url: 'check-data.php',
          type: 'post',
          data: {
          	'email_check' : 1,
          	'email' : email,
          },
          success: function(response){
          	if (response == 'taken' ) {
              email_state = false;
    		var email_comp = document.getElementById("emailcomp");
          	emailcomp.innerHTML = "<span style='color:#A90D0F;'> L'email est déjà utilisé</span>";
          	}
          }
     	});
     });
    });	

    HTML :

    <div class="form-group">
       <div class="input-group">
           <div class="input-group-prepend">
                <span class="input-group-text"><i class="ya ya-user"></i></span>
           </div>
                 <input type="text" name="pseudo" class="form-control" id="pseudo" placeholder="Pseudo" required>
       </div>
          <small id="pseudocomp" class="form-text text-muted"></small>
    </div>
    										
    <div class="form-group">
       <div class="input-group">
           <div class="input-group-prepend">
               <span class="input-group-text"><i class="fa fa-envelope"></i></span>
           </div>
               <input type="email" name="email" class="form-control" id="email" placeholder="votre.email@example.com" required>
       </div>
          <small id="emailcomp" class="form-text text-muted"></small>
    </div>


    Check-data.php (j'utilise medoo en framework bdd, de ce coté le code fonctionne)

    /// Pour le pseudo
      if (isset($_POST['pseudo_check'])) {
      	$pseudo = $_POST['pseudo'];
     	    //On vérifie que le pseudo n'est pas déjà présent dans le base
    	 	$count = $database->count("utilisateurs", [
    				"pseudo" => $pseudo
    			]);
    	 	// On renvoie le message
    	 	if($count > 0) 
    		{ 
    			echo "taken"; 
    		} 
    	    else 
    		{ 
    			echo 'not_taken'; 
    		}  	  
      	exit();
      }
    
    //Pour l'email
      if (isset($_POST['email_check'])) {
      	$email = $_POST['email'];
      	    //On vérifie que le pseudo n'est pas déjà présent dans le base
    	 	$count = $database->count("utilisateurs", [
    				"email" => $email
    			]);
    	 	// On renvoie le message
    	 	if($count > 0) 
    		{ 
    			echo "taken"; 
    		} 
    	    else 
    		{ 
    			echo 'not_taken'; 
    		}  	
      	exit();
      }



    • Partager sur Facebook
    • Partager sur Twitter
      27 mars 2019 à 14:55:09

      Bonjour,

      Avec un formulaire, tu peux utiliser les FormData

      ligne 4, ce n'est pas le bon sélecteur, lignes 21 et 43 tu t'es raté sur le nom des variables.

      Utilise plutôt === au lieu de ==.

      Quand tu vas dans les outils de développement (f12), onglet réseau, les requêtes sont bien envoyées ?

      -
      Edité par piero5673 27 mars 2019 à 14:55:46

      • Partager sur Facebook
      • Partager sur Twitter
        27 mars 2019 à 20:05:33

        Hello, la réponse du serveur dans ton callback est bien taken ?  
        Response == ‘taken’
        Il faut premièrement regarder ce que le serveur te renvoie :)

        -
        Edité par bugatti 28 mars 2019 à 16:32:09

        • Partager sur Facebook
        • Partager sur Twitter

        Software is like sex, it’s better when it’s free.

          28 mars 2019 à 10:15:59

          @bugatti regarde le script php ^^'
          • Partager sur Facebook
          • Partager sur Twitter

          Verification présence données bdd

          × 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