Probleme formulaire d'inscription (password)
- Accueil
- Forum
- Programmation
- PHP
- Probleme formulaire d'inscription (password)
mania Le 27 janvier 2018 à 01:23 (Édité le 25 janvier 2019 à 17:54)
Comme la plupart des gens ici je débute dans le php et en ce moment j'essaye donc de faire un formulaire d'inscription. Mais j'ai un petit soucis. En fait j'aimerais juste que l'utilisateur mette au moins 8 caractères dans son mot de passe pour valider l'inscription. J'ai déjà testé plusieurs façon via des vidéos sur youtube ou encore des exemples de formulaire d'inscription, mais ca ne veut pas fonctionner. J'avais une piste un moment, ca me faisait bien l'erreur comme quoi le mot de passe ne contenait pas au moins 8 caractères mais ca inscrivait quand même l'utilisateur dans ma bdd.
Du coup voilà ca fait bien 2-3 jours que j'essayes de trouver une solution alors c'est pour ça que je me tournes vers le forum pour avoir de l'aide, s'il vous plait. :)
Voici à quoi ressemble mon code :
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=bddlocalhost', 'root', '');
if(isset($_POST['forminscription'])) {
$pseudo = htmlspecialchars($_POST['pseudo']);
$mail = htmlspecialchars($_POST['mail']);
$mail2 = htmlspecialchars($_POST['mail2']);
$password = sha1($_POST['password']);
$password2 = sha1($_POST['password2']);
if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['password']) AND !empty($_POST['password2'])) {
if($mail == $mail2) {
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
$reqmail = $bdd->prepare("SELECT * FROM members WHERE mail = ?");
$reqmail->execute(array($mail));
$mailexist = $reqmail->rowCount();
if($mailexist == 0) {
if($password == $password2) {
if(strlen($password) >= 8) {
$insertmbr = $bdd->prepare("INSERT INTO members(pseudo, mail, password, avatar) VALUES(?, ?, ?, ?)");
$insertmbr->execute(array($pseudo, $mail, $password, "default.png"));
$msg = "Votre compte a bien été créé ! <a href=\"login.php\">Me connecter</a>";
} else {
$erreur = "Votre password contient moins de 8 caractères.";
}
} else {
$erreur = "Les mots de passe ne correspondent pas.";
}
} else {
$erreur = "Adresse e-mail déjà utilisée.";
}
} else {
$erreur = "Entrez une adresse e-mail valide.";
}
} else {
$erreur = "Les adresses e-mail ne correspondent pas.";
}
} else {
$erreur = "Tous les champs doivent être complétés.";
}
}
?>
u Profil introuvable Le 27 janvier 2018 à 04:09 (Édité le 27 janvier 2018 à 04:10)
if ($_POST['pass'] === $_POST['pass_confirm']):
if (strlen($_POST['pass'] >= 8):
$pass = sha1($_POST['pass']);
endif;
endif;
je serais toi, je n'utiliserais pas sha1 pour hasher mes passwords, utilise plutôt password_hash() mania Le 27 janvier 2018 à 14:23 (Édité le 1 janvier 1970 à 01:00)
mania Le 27 janvier 2018 à 15:34 (Édité le 1 janvier 1970 à 01:00)
Profil introuvable Le 27 janvier 2018 à 17:53 (Édité le 1 janvier 1970 à 01:00)
<?php
session_start();
$bdd = new PDO('mysql:host=127.0.0.1;dbname=bddlocalhost', 'root', '');
if(isset($_POST['forminscription'])) {
$pseudo = htmlspecialchars($_POST['pseudo']);
$mail = htmlspecialchars($_POST['mail']);
$mail2 = htmlspecialchars($_POST['mail2']);
$password = $_POST['password'];
$password2 = $_POST['password2'];
if(!empty($_POST['pseudo']) AND !empty($_POST['mail']) AND !empty($_POST['mail2']) AND !empty($_POST['password']) AND !empty($_POST['password2'])) {
if($mail == $mail2) {
if(filter_var($mail, FILTER_VALIDATE_EMAIL)) {
$reqmail = $bdd->prepare("SELECT * FROM members WHERE mail = ?");
$reqmail->execute(array($mail));
$mailexist = $reqmail->rowCount();
if($mailexist == 0) {
if($password == $password2) {
if(strlen($password) >= 8) {
$password = sha1($password);
$insertmbr = $bdd->prepare("INSERT INTO members(pseudo, mail, password, avatar) VALUES(?, ?, ?, ?)");
$insertmbr->execute(array($pseudo, $mail, $password, "default.png"));
$msg = "Votre compte a bien été créé ! <a href=\"login.php\">Me connecter</a>";
} else {
$erreur = "Votre password contient moins de 8 caractères.";
}
} else {$erreur = "Les mots de passe ne correspondent pas.";}
} else {$erreur = "Adresse e-mail déjà utilisée.";}
} else {$erreur = "Entrez une adresse e-mail valide.";}
} else {$erreur = "Les adresses e-mail ne correspondent pas.";}
} else {$erreur = "Tous les champs doivent être complétés."; }
}
?>
mania Le 27 janvier 2018 à 18:33 (Édité le 1 janvier 1970 à 01:00)