Limitation de caractères

Répondre
elisa
le 07/01/2011 à 23:21
elisa
Bonsoir :)

Voilà, je n'arrive pas à faire fonctionner un script et pourtant ce n'est pas faute d'essayer.
Je souhaite limiter le pseudo du membre à 15 caractères maximum et 3 minimum ainsi que le mot de passe à 6 caractères minimum afin d'éviter des pseudos à rallonge et des mots de passe trop court.

Bout de code :
php
<?php
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
if( strlen($_POST['pass']) < 6){
$erreur = 'Votre mot de passe doit contenir minimum 6 caractères.<br />';
}
if( strlen($_POST['username']) > 15 || strlen($_POST['username']) < 3){
$erreur = 'Votre pseudo doit contenir minimum 3 et maximum 15 caractères.<br />';
}
if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email'])){
$erreur = 'Votre adresse email n\'est pas valide !';
}
?>

Quand je teste le formulaire d'inscription, j'ai bien les messages d'erreurs qui s'affiche comme quoi le pseudo est trop petit ainsi que le mot de passe mais après plusieurs tentatives, ben finalement l'inscription est validée et là je ne comprends pas. A la 1er tentative, les messages d'erreurs s'affichent et suffit d'insister un peu sur le bouton envoyer du formulaire pour que l'inscription se valide, donc cela ne fonctionne pas du tout.

J'ai besoin de votre aide car je ne sais pas comment corriger ce problème.

Merci. :)
moogli
le 08/01/2011 à 08:06
moogli
salut,

c'est parce que tu n'utilise pas de clause else. la tu indique l'erreur mais n’empêche pas la suite ;)

donc par exemple
Correction
<?php
if ($_POST['pass'] != $_POST['pass_confirm']) {
$erreur = 'Les 2 mots de passe sont différents.';
}
else {
if( strlen($_POST['pass']) < 6){
$erreur = 'Votre mot de passe doit contenir minimum 6 caractères.<br />';
}
else {
if( strlen($_POST['username']) > 15 || strlen($_POST['username']) < 3){
$erreur = 'Votre pseudo doit contenir minimum 3 et maximum 15 caractères.<br />';
}
else {
if(!preg_match("#^[a-z0-9._-]+@[a-z0-9._-]{2,}\.[a-z]{2,4}$#", $_POST['email'])){
$erreur = 'Votre adresse email n\'est pas valide !';
}
else{
// a priori tout va bien j'insere dans la base ! (ou autre traitement ;)
}
}
}
}
?>


PS : peut tu utiliser le bbcode pour mettre du code sur le forum c'est plus imple à lire avec des belles couleurs ;)

@+
Il en faut peu pour être heureux !!!!!
elisa
le 08/01/2011 à 10:30
elisa
Bonjour.

Rooo smiley en effet, la clause else, merci :)) et désolée pour l'oubli du bbcode.

Je vais mettre de suite le code en place.
Bonne journée.
Répondre

Ecrire un message

Votre message vient d'être créé avec succès.
LoadingChargement en cours