J'ai un problème lors de l'inscription d'un membre, mais ce problème ne me donne aucune erreur donc je ne vois pas ce que c'est.. La chose étant que lorsque j'envoie mon formulaire d'inscription et bien le membre n'est pas enregistré dans la base de donnée je ne comprends pas pourquoi.
Voici la fonction présente dans mon controller
Celle qui est appelé et qui est dans le model :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 function inscription(){ if (isset($_POST['lastName']) && isset($_POST['firstName']) && isset($_POST['email']) && isset($_POST['mdp']) && isset($_POST['phone']) && isset($_POST['adress']) && isset($_POST['confirm_mdp'])) { if (!empty($_POST['lastName']) && !empty($_POST['firstName']) && !empty($_POST['email']) && !empty($_POST['mdp']) && !empty($_POST['phone']) && !empty($_POST['adress']) && $_POST['mdp']=$_POST['confirm_mdp']) { $alerte = "Veuillez remplir tous les champs correctement."; } else if (!isAmdp($_POST['mdp'])) { echo 'blabla'; $alerte = "Veuillez entrer un format de mot de passe valide avec au moins 8 caractères, une lettre, un chiffre et un caractère spécial."; } else if (!existingEmail($_POST['email'])) { inscrire(); header('Location: index.php?action=inscrire'); exit($alerte="Bien inscrit"); } else { $alerte = "Un compte existe déjà avec cet email!"; } } require "views/inscription.php"; }~
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50 function inscrire(): bool { $pass_hache = password_hash($_POST['mdp'], PASSWORD_DEFAULT); $db=dbConnect(); $req = $db->prepare("INSERT INTO client(lastName, firstName, email, phone, adress, mdp) VALUES(:lastName, :firstName, :email, :phone, :adress, :mdp)"); $req->execute([ 'lastName'=> $_POST['lastName'], 'firstName' => $_POST['firstName'], 'email'=> $_POST['email'], 'phone'=> $_POST['phone'], 'adress'=> $_POST['adress'], 'mdp'=> $pass_hache ]); return true; } /* *Vérifie si un email existe */ function existingEmail($email): bool { $db=dbConnect(); $req = $db->prepare('SELECT EXISTS(SELECT * FROM client WHERE email = ?)'); $req->execute(array($email)); return $req->fetch()["EXISTS (SELECT * FROM client WHERE email = '$email')"]; } /** * Vérifie le format d'un mot de passe * @param $str * @return bool */ function isAmdp($str): bool { if (empty($str) || strlen($str) < 8 || !preg_match("#[0-9]+#", $str) || !preg_match("#[a-zA-Z]+#", $str) || !preg_match('/[\'\/~`\!@#\$%\^&\*\(\)_\-\+=\{\}\[\]\|;:"\<\>,\.\?\\\]/', $str) ) { return false; } else { return is_string($str); } }
Et enfin voici ma base de donnée, le nom de la table est bien "client": http://www.noelshack.com/2018-49-5-1...64-ins3bdd.png
Partager