Code : Tout sélectionner
if(isset($_POST['forminscription'])) {
$pseudo = htmlspecialchars($_POST['pseudo']);
$mail = htmlspecialchars($_POST['mail']);
$mail2 = htmlspecialchars($_POST['mail2']);
$mdp = md5($_POST['mdp']);
$mdp2 = md5($_POST['mdp2']);
if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['mdp']) AND !empty($_POST['mdp2'])) {
$pseudolength = strlen($pseudo);
if($pseudolength <= 30) {
if ($pseudolength >=10) {
if($mail == $mail2) {
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
$reqmail = $bdd->prepare("SELECT * FROM membres WHERE mail = ?");
$reqmail->execute(array($mail));
$mailexist = $reqmail->rowCount();
if($mailexist == 0) {
if($mdp == $mdp2) {
if(!empty($_POST['CGU'])) {
$mdplength = strlen($mdp);
if($mdplength < 5) {
$insertmbr = $bdd->prepare("INSERT INTO membres(pseudo, mail, motdepasse, avatar) VALUES(?, ?, ?, ?)");
$insertmbr->execute(array($pseudo, $mail, $mdp, "default.png"));
$ok = "Votre compte a bien été créé ! <br><a href=\"connexion.php\">Me connecter</a>";
} else {
$erreur = "Mot de passe trop court";
}
} else {
$erreur = "Veuillez lire et accepter les CGU.";
}
} else {
$erreur = "Vos mots de passes ne correspondent pas !";
}
} else {
$erreur = "Adresse mail déjà utilisée !";
}
} else {
$erreur = "Votre adresse mail n'est pas valide !";
}
} else {
$erreur = "Vos adresses mail ne correspondent pas !";
}
} else {
$erreur = "Votre pseudo dois être composé d'au minimum 10 caractères !";
}
} else {
$erreur = "Votre pseudo ne doit pas dépasser 30 caractères !";
}
} else {
$erreur = "Tous les champs doivent être complétés !";
}
}
?>je suis face à un problème de taille, que même des professionnels de mon centre de formation n'ont pas réussis à résoudre.
J'ai ajouter une fonction strlen au mot de passe de mes utilisateurs en fin de code php, juste avant l'écriture de la bdd.
Si le mot de passe est inférieur à 5 caractères, l'utilisateur est censé recevoir un message d'erreur.
La fonction marche très bien le problème c'est que même si le mot de passe est supérieur à 5 caractères, le message d'erreur s'affiche toujours et rien n'est écrit dans ma BDD...
Mes formateurs ne voient pas non plus d'erreurs dans les quelques lignes que j'ai rajouté pour la fonction...
Je suis perdu
EDIT: j'ai fais plein de test de mon coté, et même en gardant un simple champ mdp dans mon formulaire d'inscription ( donc en enlevant le mot de passe confirm ) ça ne marche pas non plus... :/