From ba0806aab26ff00720f20905d944e09b89408451 Mon Sep 17 00:00:00 2001 From: Lucie Bedouret Date: Thu, 22 Dec 2022 14:40:49 +0100 Subject: [PATCH] ADD: gestion des erreurs pour la connction et l'inscription (manque encore le sanitize) --- config/Validation.php | 22 ++++++---------------- controleurs/ControleurVisiteur.php | 22 ++++++++++++++++------ styles/connectionStyles.css | 6 ++++++ vues/acceuil.php | 4 ++-- vues/connection.php | 13 ++++++++----- vues/inscription.php | 12 ++++++++---- 6 files changed, 46 insertions(+), 33 deletions(-) diff --git a/config/Validation.php b/config/Validation.php index eecc2f7..91bbadc 100644 --- a/config/Validation.php +++ b/config/Validation.php @@ -3,30 +3,25 @@ class Validation { static function val_connexion($usrName,$mdp,$dataVueEreur) { if (!isset($usrName)||$usrName=="") { - $dataVueEreur[] ="Nom d'utilisateur manquant"; - throw new Exception('pas de username'); + $dataVueEreur[] ="Username or password missing"; } $usrName = Validation::clear_string($usrName); if($usrName == false){ $dataVueEreur[] = "Sanitizing error"; - throw new Exception('sanitizing fail'); } if (!isset($mdp)||$mdp=="") { - $dataVueEreur[] ="Mot de passe manquant"; - throw new Exception('pas de password'); + $dataVueEreur[] ="Username or password missing"; } $mdp = Validation::clear_string($mdp); if($mdp == false){ $dataVueEreur[] = "Sanitizing error"; - throw new Exception('sanitizing fail'); } return $dataVueEreur; } static function val_inscription($username,$pwd1,$pwd2,$dataVueEreur){ if (!isset($username)||$username==="") { - $dataVueEreur[] ="Nom d'utilisateur manquant"; - throw new Exception('pas de username'); + $dataVueEreur[] ="All fields are required"; } $username = Validation::clear_string($username); if($username == false){ @@ -34,26 +29,21 @@ throw new Exception('sanitizing fail'); } if (!isset($pwd1)||$pwd1==="") { - $dataVueEreur[] ="Mot de passe manquant"; - throw new Exception('pas de password'); + $dataVueEreur[] ="All fields are required"; } $pwd1 = Validation::clear_string($pwd1); if($pwd1 == false){ $dataVueEreur[] = "Sanitizing error"; - throw new Exception('sanitizing fail'); } if (!isset($pwd2)||$pwd2==="") { - $dataVueEreur[] ="Confirmation mot de passe manquant"; - throw new Exception('pas de confirmation password'); + $dataVueEreur[] ="All fields are required"; } $pwd2 = Validation::clear_string($pwd2); if($pwd2 == false){ $dataVueEreur[] = "Sanitizing error"; - throw new Exception('sanitizing fail'); } if($pwd1 !== $pwd2){ - $dataVueEreur[]="Mot de passe et confirmation différents"; - throw new Exception("Mot de passe et confirmation différents"); + $dataVueEreur[]="Invalid confirmation"; } return $dataVueEreur; } diff --git a/controleurs/ControleurVisiteur.php b/controleurs/ControleurVisiteur.php index a679155..b2058a4 100644 --- a/controleurs/ControleurVisiteur.php +++ b/controleurs/ControleurVisiteur.php @@ -122,6 +122,9 @@ class ControleurVisiteur { $usrname=$_POST['login']; $pwd=$_POST['mdp']; $vues_erreur=Validation::val_connexion($usrname,$pwd,$vues_erreur); + if(!empty($vues_erreur)){ + require($rep.$vues['connection']); + } $model= new VisiteurModel(); if($model->existUser($usrname)){ if(password_verify($pwd,$model->getHashedPassword($usrname))){ @@ -130,13 +133,13 @@ class ControleurVisiteur { $this->reinit(); } else{ - $arrayErrorViews =array('username'=>$usrname,'password'=>$pwd); - require($rep.$vues['erreur']); + $vues_erreur =array('username'=>$usrname,'password'=>$pwd); + require($rep.$vues['connection']); } } else{ - $arrayErrorViews =array('username'=>$usrname,'password'=>$pwd); - require($rep.$vues['erreur']); + $vues_erreur =array('username'=>$usrname,'password'=>$pwd); + require($rep.$vues['connection']); } } @@ -145,12 +148,19 @@ class ControleurVisiteur { $usrname=$_POST['username']; $pwd=$_POST['password']; $confirm=$_POST['confirmpassword']; + $model = new VisiteurModel(); $vues_erreur=Validation::val_inscription($usrname,$pwd,$confirm,$vues_erreur); - if($vues_erreur == []){ + if($model->existUser($usrname)){ + $vues_erreur[]="Username already taken"; + } + if(empty($vues_erreur)){ $hash= password_hash($pwd,PASSWORD_DEFAULT); - $model = new VisiteurModel(); $model->inscription($usrname,$hash); } + else{ + require($rep.$vues['inscription']); + } + $_REQUEST['action']=null; new ControleurVisiteur(); } diff --git a/styles/connectionStyles.css b/styles/connectionStyles.css index 130ac47..98a66eb 100644 --- a/styles/connectionStyles.css +++ b/styles/connectionStyles.css @@ -10,6 +10,12 @@ h1{ margin-left: 5%; } +#error{ + margin-top: 5%; + margin-bottom: -5%; + margin-left: 29%; +} + #connectionForm{ background-color: #E4F8FF; width: 50%; diff --git a/vues/acceuil.php b/vues/acceuil.php index 6208762..1999153 100644 --- a/vues/acceuil.php +++ b/vues/acceuil.php @@ -3,8 +3,8 @@ Acceuil - - + + diff --git a/vues/connection.php b/vues/connection.php index 0cabb26..07d7a33 100644 --- a/vues/connection.php +++ b/vues/connection.php @@ -2,8 +2,8 @@ connection - - + +
@@ -15,12 +15,15 @@
-

Login

+

Username

Password

-
-
+ Incorrect Username or Password'; + } + ?>
diff --git a/vues/inscription.php b/vues/inscription.php index e6e036b..c26cf50 100644 --- a/vues/inscription.php +++ b/vues/inscription.php @@ -2,8 +2,8 @@ connection - - + +
@@ -16,13 +16,17 @@

Please enter all the informations :

-

Login

+

Username

Password

Confirm Password

-
+ '.$vues_erreur[0].''; + } + ?>