Bonjour,
j'était entrain de développer une petite inscription pour mon site et une erreur survient lors que j'essaye de m'inscrire. Pas moyen de trouver d'où celà vient.
<?php
//Si le formulaire a ete soumis
if(isset($_POST['register'])) {
//Si tous les champs ont ete remplis
if(not_empty([ 'pseudo', 'email', 'password', 'password_confirm'])){
$errors = []; //Contiendra toutes les erreurs, si erreur il y a
extract($_POST);
//Validation des donnees saisies par l'utilisateur
if(mb_strlen(addslashes($pseudo)) < 3){
$errors[] = "Pseudo trop court! (Minimum 3 caractères)";
}
if(! filter_var($email, FILTER_VALIDATE_EMAIL)){
$errors[] = "Adresse email invalide!";
}
if(mb_strlen($password) < 6){
$errors[] = "Mot de passe trop court! (Minimum 6 caractères)";
} else {
if($password != $password_confirm){
$errors[] = "Les deux mots de passe ne concordent pas!";
}
}
if(is_already_in_use('pseudo', $pseudo, 'users')){
$errors[] = "Pseudo déjà utilisé!";
}
if(is_already_in_use('email', $email, 'users')){
$errors[] = "Adresse E-mail déjà utilisé!";
}
//Si tout est parfait, on enregistre les donnees en BDD
//tout en envoyant un mail d'activation a l'utilisateur
if(count($errors) == 0){
$q = $db->prepare('INSERT INTO users(pseudo, email, password) VALUES(:pseudo, :email, :password, "default")');
$q->execute([
'pseudo' => $pseudo,
'email' => $email,
'password' => $password
]);
//Nous informons l'utilisateur pour qu'il verifie sa boite de reception afin d'activer son compte
set_flash("Félicitation! Vous pouvez maintenant vous connecté!", 'success');
redirect('/');
} else {
save_input_data(); //On stocke les inputs de formulaire pour que les champs soient pre-remplis la next fois
}
} else {
$errors[] = "Veuillez remplir tous les champs!";
save_input_data(); //On stocke les inputs de formulaire pour que les champs soient pre-remplis la next fois
}
} else {
clear_input_data(); //S'il vient d'arriver fraichement sur la page, il n'y a aucune raison que les
//champs soient pre-remplis.
}
?>
Merci