Partage
  • Partager sur Facebook
  • Partager sur Twitter

Problème vérification JS, Ajax, PHP d'un FORM

    3 janvier 2018 à 16:06:20

    Bonjour, j'ai fais un script et une vérif en php mais rien ne marche, le "Check en cour" reste blocker ..

    Code JS :

    $("#prenom").blur(function(){
    
    	$("#error_prenom").removeClass().addClass('wait').text('Check en cours...');
    
    	$.post("traitement.php" ,{ prenom:$(this).val() } ,function(data_prenom){
    
    		if(data_prenom=='empty'){
    
    			$('#error_prenom').removeClass().addClass('error').text('Ce champs est requis !');
    
    		}else if(data_prenom == 'non_valid'){
    
    			$('#error_prenom').removeClass().addClass('error').text('Votre prénom n\'est pas dans un format valide !');
    
    		}
    
    	});
    
    });
    
    $("#nom").blur(function(){
    
    	$("#error_nom").removeClass().addClass('wait').text('Check en cours...');
    
    	$.post("traitement.php" ,{ nom:$(this).val() } ,function(data_nom){
    
    		if(data_nom=='empty'){
    
    			$('#error_nom').removeClass().addClass('error').text('Ce champs est requis !');
    
    		}else if(data_nom == 'non_valid'){
    
    			$('#error_nom').removeClass().addClass('error').text('Votre nom n\'est pas dans un format valide !');
    
    		}
    
    	});
    
    });
    
    $("#pseudo").blur(function(){
    
    	$("#error_user").removeClass().addClass('wait').text('Check en cours...');
    
    	$.post("traitement.php" ,{ pseudo:$(this).val() } ,function(data_pseudo){
    
    		if (data_pseudo =="empty"){
    
    			$('#error_user').removeClass().addClass('error').text('Ce champs est requis');
    
    		}else if(data_pseudo =='court'){
    
    			$('#error_user').removeClass().addClass('error').text('Ce pseudo est trop court !');
    
    		}else if(data_pseudo =='non_valid'){
    		
    			$('#error_user').removeClass().addClass('error').text('Ce pseudo n\'est pas dans un format valide !');
    			
    		}else if(data_pseudo =='pris'){
    		
    			$('#error_user').removeClass().addClass('error').text('Ce pseudo est déjà utilisé !');
    
    		}
    
    	});
    
    });
    
    $("#mail").blur(function(){
    
    		$("#error_mail").removeClass().addClass('wait').text('Check en cours...');
    
    		$.post("traitement.php" ,{ email:$(this).val() } ,function(data_mail){
    
    			if (data_mail =="empty"){
    
    			$('#error_mail').removeClass().addClass('error').text('Ce champs est requis');
    
    		}else if(data_mail =='non_valid'){
    		
    			$('#error_mail').removeClass().addClass('error').text('Veuillez saisir une adresse email valide !');
    			
    		}else if(data_mail =='pris'){
    		
    			$('#error_mail').removeClass().addClass('error').text('Cette adresse email est déjà prise !');
    
    		}
    
    	});
    
    });
    
    $("#password").blur(function(){
    
    	$("#error_password").removeClass().addClass('wait').text('Check en cours...');
    
    	$.post("traitement.php" ,{ password:$(this).val() } ,function(data_password){
    
    		if (data_password =="empty"){
    
    			$('#error_password').removeClass().addClass('error').text('Ce champs est requis');
    
    		}else if(data_password =='court'){
    
    			$('#error_password').removeClass().addClass('error').text('Votre mot de passe est trop court !');
    
    		}else if(data_password =='non_valid'){
    		
    			$('#error_password').removeClass().addClass('error').text('Votre mot de passe doit être de le formet a-Z 0-9');
    
    		}
    		
    	});
    
    });
    



    Mon formulaire html :

    <form role="form" action="" method="post" class="registration-form">
    				                    	<div class="form-group">
    				                    		<label class="sr-only" for="form-first-name">Prénom</label>
    				                        	<input type="text" name="prenom" placeholder="Votre prénom" class="form-first-name form-control" id="prenom">
    				                        	<div id="error_prenom"></div>
    				                        </div>
    				                        <div class="form-group">
    				                        	<label class="sr-only" for="form-last-name">Nom</label>
    				                        	<input type="text" name="nom" placeholder="Votre nom" class="form-last-name form-control" id="nom">
    				                        	<div id="error_nom"></div>
    				                        </div>
    				                        <div class="form-group">
    				                        	<label class="sr-only" for="form-pseudo">Nom d'utilisateur</label>
    				                        	<input type="text" name="pseudo" placeholder="Votre nom d'utilisateur" class="form-last-name form-control" id="pseudo">
    				                        	<div id="error_user"></div>
    
    				                        </div>
    				                        <div class="form-group">
    				                        	<label class="sr-only" for="form-email">Email</label>
    				                        	<input type="email" name="mail" id="mail" placeholder="Votre adresse mail" class="form-email form-control" id="mail">
    				                        	<div id="error_mail"></div>
    
    				                        </div>
    				                        <div class="form-group">
    				                        	<label class="sr-only" for="form-about-yourself">Mot de passe</label>
    				                        	<input type="password" name="password" placeholder="Votre mot de passe" class="form-last-name form-control" id="password">
    				                        	<div id="error_password"></div>
    
    				                        </div>
    				                        <button type="submit" name="join" class="btn">S'inscrire</button>
    				                    </form>


    Ma vérification php :

    <?php
    
    $bdd = new PDO('mysql:host=***;dbname=***;charset=utf8', '****', '****');
    
    if(!empty($_POST['prenom'])){
    
    	if(ereg("^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ[:blank:]-]{1,30})$", $_POST['prenom'])){
    
    		echo "good";
    
    	}else{
    		echo "non_valid";
    	}
    
    }else{
    	echo "empty";
    }
    
    if(!empty($_POST['nom'])){
    
    	if(ereg("^([a-zA-Z'àâéèêôùûçÀÂÉÈÔÙÛÇ[:blank:]-]{1,30})$", $_POST['nom'])){
    
    		echo "good";
    
    	}else{
    		echo "non_valid";
    	}
    	
    }else{
    	echo "empty";
    }
    
    if(!empty($_POST['pseudo'])){
    
    	if (strlen($_POST['pseudo']) >= 3){
    
    		if(preg_match('`^([a-zA-Z0-9-_]{4,15})$`', $_POST['pseudo'])){
    
    			$exist_pseudo = $bdd->prepare('SELECT pseudo FROM users WHERE pseudo = ?');
    				$exist_pseudo->execute(array($_POST['pseudo']);
    
    				$pseudo_exist = $exist_pseudo->rowCount();
    
    				if ($pseudo_exist == 0){
    
    					echo "good";
    
    				}else{
    					echo "pris";
    				}
    
    		}else{
    			echo "non_valid";
    		}
    
    	}else{
    		echo "court";
    	}
    	
    }else{
    	echo "empty";
    }
    
    if(!empty($_POST['email'])){
    
    	if(filter_var($_POST['email'], FILTER_VALIDATE_EMAIL) && preg_match('#^[\w.-]+@[\w.-]+\.[a-z]{2,6}$#i', $_POST['email']) ){
    
    		$mail_exist = $bdd->prepare('SELECT pseudo FROM users WHERE pseudo = ?');
    			$mail_exist->execute(array($_POST['pseudo']);
    
    			$exist_mail = $mail_exist->rowCount();
    
    			if ($exist_mail == 0){
    
    				echo "good";
    
    			}else{
    				echo "pris";
    			}
    
    	}else{
    		echo "non_valid";
    	}
    
    	
    }else{
    	echo "empty";
    }
    
    if(!empty($_POST['password'])){
    
    	if (strlen($_POST['password']) >= 8){
    
    		if (preg_match('#^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9]).{8,}$#', $_POST['password'])){
    
    			echo "good";
    
    		}else{
    			echo "non_valid";
    		}
    
    	}else{
    		echo "court";
    	}
    
    }else{
    	echo "empty";
    }

    Je ne comprends rien, j'ai appris le le JS ya pas longtemps :/


    -
    Edité par Vassili Joffroy 3 janvier 2018 à 16:10:32

    • Partager sur Facebook
    • Partager sur Twitter

    Jeune et ambitieux Htmlspecialschars  - Var_dump

      3 janvier 2018 à 16:21:40

      if(data_prenom=='empty'){
       
                  $('#error_prenom').removeClass().addClass('error').text('Ce champs est requis !');
       
              }else if(data_prenom == 'non_valid'){
       
                  $('#error_prenom').removeClass().addClass('error').text('Votre prénom n\'est pas dans un format valide !');
       
              }

      (Ligne 7 a 15)

      Peux tu nous montrer la valeur de $('#error_prenom') ? avec un console.log par exemple

      • Partager sur Facebook
      • Partager sur Twitter
      Si vous voulez me mp, venez sur Discord (username: Stelyus#8984)
        3 janvier 2018 à 16:31:12

        Object { 0: div#error_prenom.wait, length: 1, context: HTMLDocument http://www.maptitevie.fr/test.php, selector: "#error_prenom" }
        • Partager sur Facebook
        • Partager sur Twitter

        Jeune et ambitieux Htmlspecialschars  - Var_dump

          3 janvier 2018 à 16:41:03

          Ok,

          Juste en regardant le js, il y a deux possibilites, soit il ne rentre pas dans les if (debug ou console.log pour etre sur), soit ton traitement.php contient des erreurs, et du coup le callback javascript n'est pas appelé

          Donne nous des nouvelles

          • Partager sur Facebook
          • Partager sur Twitter
          Si vous voulez me mp, venez sur Discord (username: Stelyus#8984)
            3 janvier 2018 à 16:42:51

            Stelyus a écrit:

            Ok,

            Juste en regardant le js, il y a deux possibilites, soit il ne rentre pas dans les if (debug ou console.log pour etre sur), soit ton traitement.php contient des erreurs, et du coup le callback javascript n'est pas appelé

            Donne nous des nouvelles


            Je fais comment du coup?
            • Partager sur Facebook
            • Partager sur Twitter

            Jeune et ambitieux Htmlspecialschars  - Var_dump

              3 janvier 2018 à 16:44:23

              console.log data_prenom, data_nom, data_pseudo, data_mail et data_password
              • Partager sur Facebook
              • Partager sur Twitter
              Si vous voulez me mp, venez sur Discord (username: Stelyus#8984)

              Problème vérification JS, Ajax, PHP d'un FORM

              × 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