Partage

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

MaPtiteVie.fr Futur projet :D

Vous êtes demandeur d'emploi ?
Sans diplôme post-bac ?

Devenez Développeur web junior

Je postule
Formation
en ligne
Financée
à 100%
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

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" }
MaPtiteVie.fr Futur projet :D
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

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?
MaPtiteVie.fr Futur projet :D
3 janvier 2018 à 16:44:23

console.log data_prenom, data_nom, data_pseudo, data_mail et data_password
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