Titre: [resolu]vérification formulaire en php
Posté par: Améni le le 22-05-2009 a 18:19:56
Bonjour,
J'ai créé un formulaire d'inscription, il y a quelques vérifications à faire avant d'accepter l'inscription... Le problème c'est que je débute, je n'ai pas encore les bons réflexes pour que mon code fonctionne correctement...
J'aimerai vérifier le code postal: je veux 4 chiffres minimum et 5 chiffres maximum sinon un message s'affiche en disant que le code postal est invalide (si c'est bon, on affiche rien), quand je teste en mettant un code postal invalide, le message s'affiche mais la personne peut quand même s'inscrire ce qui n'est pas bon!
J'aimerai également vérifier si le pseudo est déjà pris (existe dans mas BDD), quand je teste avec un pseudo existant dans ma BDD, il y a bien le message qui s'affiche qui dit que le pseudo existe déjà mais la personne peut quand même s'inscrire ce qui n'est pas bon non plus.
Et dernière petite chose, j'aimerai que le mot de passe contient au minimum 5 caractères sinon un message s'affiche qui dit 5 caractères minimum, quand je teste le message s'affiche mais on peut quand même s'inscrire.
Je pense que j'ai des problèmes avec mes variables mais je ne sais pas comment mettre tout ça en place...
Si quelqu'un peut m'aider...
Ligne 50: vérifier caractère minimum du mot de passe Ligne 56: vérifier le code postal Ligne 64: vérifier le pseudo
Voici mon code php en entier :
<?php function connectgratuit(){ $base= mysql_connect ('localhost','root',''); mysql_select_db ('gratuit',$base); }
if(isset($_POST['valider'])){ $champs_vide=array(); if (empty($_POST['prenom'])){ $champs_vide[]='"prenom"'; } if (empty ($_POST['pseudo'])){ $champs_vide[]='"pseudo"'; } if (empty ($_POST['postal'])){ $champs_vide[]='"code postal"'; } if (empty($_POST['email'])) { $champs_vide[] = '"Email"'; } if (!filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) { $champs_mail[] = array(); $champs_mail[] = "invalide"; echo '<div style="position:absolute; margin-top: 235px; margin-left:490px; color:red">Email invalide</div>'; } if (empty ($_POST['pass'])){ $champs_vide[]='"mot de passe"'; } if (empty ($_POST['confirm_pass'])){ $champs_vide[]='"confirmer mot de passe"'; }
if ( $_POST['confirm_pass'] != $_POST['pass'] ) { echo '<div style="color:red; position:absolute; margin-top: 287px; margin-left:490px ">Les 2 mots de passe sont différents! </div>'; $champs_double = array(); $champs_double[] = "doublons"; }
// VERIFIER CARACTERE MINIMUM MOT DE PASSE if ( strlen( $_POST['pass'] ) < 5 ) { echo '<div style="position:absolute; margin-top:305px; margin-left:490px; color:red">5 caractères minimum!</div>' ; } //FIN DE VERIFICATION
//VERIFIER LE CODE POSTAL if (!eregi("^([0-9]{4,5})$", $_POST['postal'] )) { echo '<div style="position:absolute; margin-top: 200px; margin-left:490px; color:red">Code postal invalide</div>'; } //FIN DE VERIFICATION
connectgratuit();
//VERIFIER LE PSEUDO $pseudo = $_POST['pseudo']; $verif_pseudo = mysql_query("SELECT pseudo FROM inscription WHERE pseudo='$pseudo'"); if (mysql_num_rows($verif_pseudo) != 0) { echo '<div style="position:absolute; margin-top:165px; margin-left:490px; color:red">Le pseudo existe déjà</div>'; } //FIN DE VERIFICATION
if (empty ($champs_vide) && empty($champs_double) && empty($champs_mail)){ $prenom=$_POST['prenom']; $pseudo=$_POST['pseudo']; $postal=$_POST['postal']; $email=$_POST['email']; $pass=$_POST['pass']; $confirm_pass=$_POST['confirm_pass']; echo ' <div style="padding-left:240px; margin-top: 10px; margin-bottom:-10px">Votre inscription a bien été pris en compte.</div>';
$sql='INSERT INTO inscription VALUES("","'.$prenom.'","'.$pseudo.'", "'.$postal.'", "'.$email.'","'.$pass.'", "'.$confirm_pass.'",NOW())'; mysql_query($sql) or die('Erreur SQL!'.$sql. '<br>' .mysql_error()); mysql_close(); } //champs_vide else { if (!empty($champs_vide)){ echo '<div style="padding-left:150px; color:red; margin-bottom: -15px"><h4 style="padding-left:90px; padding-bottom:10px;">Merci de remplir le champs suivant:</h4> <span style="text-align:center">' .implode($champs_vide). '</span></div>'; } } } //valider
?>
Merci pour votre aide très précieuse
Bonne journée |
Titre: Re:vérification formulaire en php
Posté par: sebinfo le le 23-05-2009 a 16:42:33
| tu dois appeler une fonction qui contient tes vérifications avant d'insérer dans la base de données. Si cette fonction retourne true alors c'est que le formulaire est bien rempli, si elle retourne false, tu affiches de nouveau le formulaire avec les erreurs de mentionnées. |
Titre: Re:vérification formulaire en php
Posté par: referencement boy le le 27-05-2009 a 11:38:53
Pour l'affichage, tu rappelle ta page précédente :) Tu fais un test dessus si ta variable et vide ou pas. Si elle l'est pas, tu affiche sont contenu (qui sera tes erreurs ^^) |
Titre: Re:vérification formulaire en php
Posté par: Améni le le 27-05-2009 a 13:33:43
Merci
J'ai réglé mon problème, ça fonctionne :) |
Forum-webmaster | Actionné par YaBB SE
© 2001-2003, YaBB SE Dev Team. Tous droits réservés.
|