Add Login message error

pull/20/head
tomivt 5 months ago
parent 7d2cb11f89
commit 7615dabb92

@ -6,10 +6,11 @@
<component name="ChangeListManager">
<list default="true" id="afa12d51-331f-4dbc-a297-7289ad4e396d" name="Changes" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/index.php" beforeDir="false" afterPath="$PROJECT_DIR$/index.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/public/styles/styleSignin.css" beforeDir="false" afterPath="$PROJECT_DIR$/public/styles/styleSignin.css" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Controleur/FrontControler.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controleur/FrontControler.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Controleur/QuizController.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controleur/QuizController.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Controleur/VisitorControler.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Controleur/VisitorControler.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Gateway/userGateway.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Gateway/userGateway.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Model/userModel.php" beforeDir="false" afterPath="$PROJECT_DIR$/src/Model/userModel.php" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vue/templates/login.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/vue/templates/login.html.twig" afterDir="false" />
<change beforePath="$PROJECT_DIR$/vue/templates/signin.html.twig" beforeDir="false" afterPath="$PROJECT_DIR$/vue/templates/signin.html.twig" afterDir="false" />
</list>
@ -126,7 +127,7 @@
<workItem from="1731335752621" duration="4170000" />
<workItem from="1731342597283" duration="1536000" />
<workItem from="1731407652445" duration="715000" />
<workItem from="1731501246750" duration="13331000" />
<workItem from="1731501246750" duration="16824000" />
</task>
<servers />
</component>

@ -118,3 +118,25 @@ body.light-mode .champ{
background-color: #fff1f1;
border: 1px solid #000000;
}
body.dark-mode .connectAccount{
margin-top: 5%;
margin-bottom: 5%;
font-size: 13px;
text-align: center;
padding-top: 1%;
color: white;
border: 1px solid transparent;
font-family: "Lemon", serif;
}
body.light-mode .connectAccount{
margin-top: 5%;
margin-bottom: 5%;
font-size: 13px;
text-align: center;
padding-top: 1%;
color: black;
font-family: "Lemon", serif;
}

@ -16,7 +16,7 @@ Class FrontControler{
$this->co=$co;
$this->listAction = ['visitor' => array('accueil','search','quote','login','signin','quiz','valid'),
$this->listAction = ['visitor' => array('accueil','search','quote','login','signin','quiz','validlogin','validsignin'),
'user' => array('quiz','commentary','favorite','logout'),
'admin' => array('null')];
@ -38,7 +38,8 @@ Class FrontControler{
$router->map('GET|POST', '/quote/[i:idQuote]?', 'VisitorControler');
$router->map('GET|POST', '/login', 'VisitorControler');
$router->map('GET|POST', '/signin', 'VisitorControler');
$router->map('GET|POST', '/valid', 'VisitorControler');
$router->map('GET|POST', '/validsignin', 'VisitorControler');
$router->map('GET|POST', '/validlogin', 'VisitorControler');
$router->map('GET|POST', '/quiz/[i:id]?', 'QuizController');
$match = $router->match();

@ -43,9 +43,12 @@ Class VisitorControler {
case "signin":
$this -> visitorSignIn();
break;
case "valid":
case "validsignin":
$this -> toSignIn();
break;
case "validlogin":
$this -> toLogIn();
break;
default:
break;
}
@ -91,11 +94,24 @@ Class VisitorControler {
if (password_verify($mdp, $user->getPassword()))
{
$_SESSION['user'] = $pseudo;
$_SESSION['role'] = 'user';
header("Location: /");
exit();
}else
{
global $twig;
$this -> errors = ["Identifiant ou mot de passe incorrect"];
echo $twig -> render("login.html.twig", ['error' => $this -> errors[0]]);
exit();
}
}
else die(); /* Afficher Erreur Mot de passe */
else
{
global $twig;
$this -> errors = ["Identifiant ou mot de passe incorrect"];
echo $twig -> render("login.html.twig", ['error' => $this -> errors[0]]);
exit();
}
else die(); /* Afficher Utilisateur non trouvé */
}
}
@ -141,12 +157,12 @@ Class VisitorControler {
$isUserAlreadyUsed = $this -> mdl -> getUsername($pseudo);
$isEmailAlreadyUsed = $this -> mdl -> getEmail($email);
if ($isUserAlreadyUsed) {
if ($isUserAlreadyUsed and !$isEmailAlreadyUsed) {
$this->errors[0] = "Pseudo déjà utilisé";
echo $twig->render("signin.html.twig", ['error' => $this->errors]);
exit();
}
else if ($isEmailAlreadyUsed) {
else if ($isEmailAlreadyUsed and !$isUserAlreadyUsed) {
$this->errors[1] = "Email déjà utilisé";
echo $twig->render("signin.html.twig", ['error' => $this->errors]);
exit();

@ -67,8 +67,8 @@ Class UserGateway{
}
public function findEmail(string $email):array{
$query = 'SELECT * FROM Users WHERE email= :email';
$this->con->executeQuery($query, array(':username'=>array($email, PDO::PARAM_STR)));
$query = 'SELECT * FROM Users WHERE email = :email';
$this->con->executeQuery($query, array(':email'=>array($email, PDO::PARAM_STR)));
return $this->con->getResults();
}

@ -69,16 +69,16 @@ use Gateway\UserGateway;
public function getEmail(string $email) : ?UserEntity
{
$res = $this->gateway->findUsername($email);
$res = $this->gateway->findEmail($email);
if ($res)
return new UserEntity(
$res[0]['id_user'],
$res[0]['username'],
$res[0]['pssword'],
$res[0]['email'],
$res[0]['imgPrfl'],
$res[0]['isAdmin'],
$res[0]['date']
$res[0]['img_prfl'],
$res[0]['is_admin'],
$res[0]['creation']
);
return null;
}

@ -27,13 +27,16 @@
</div>
<h1>▶ Connexion ◀</h1>
<form class="login" method="post">
<form class="login" method="post" action="/validlogin">
<p> <strong>Identifiant *</strong></p>
<input type="text" class="connexion" name="pseudo" id="pseudo" placeholder="Entrez votre pseudo" required />
<p> <strong> Mot de passe *</strong></p>
<input type="password" class="connexion" name="mdp" id="mdp" placeholder="Entrez votre mdp" required />
{% if error is defined and error is not empty %}
<p style="color: red">{{ error }}</p>
{% endif %}
<div class="createAccount">
<p class="createAccount">Vous n'avez de compte?</p>
<a href="/signin" class="createAccount">S'incrire</a>
@ -41,7 +44,7 @@
<div class="buttonSubmitDiv">
<button class="buttonSudmite">Connexion</button>
<button class="buttonSudmite">Se Connecter</button>
</div>
</form>

@ -26,44 +26,47 @@
</div>
</div>
<h1>▶ S'inscrire ◀</h1>
<form method="post" action="/valid">
<form method="post" action="/validsignin">
<div class="signin">
<div class="DivId">
<p>Identifiant *</p>
<input type="text" class="champ" id="pseudo" name="pseudo" placeholder="Entrer Pseudonyme" required/>
{% if error[0] != null %}
<p style="color: red"> {{ error[0] }} </p>
<input type="text" class="champ" id="pseudo" name="pseudo" placeholder="Entrez votre pseudo" required/>
{% if error[0] is defined and error[0] is not empty %}
<p style="color: red">{{ error[0] }}</p>
{% endif %}
</div>
<div class="DivEmail">
<p>Email *</p>
<input type="email" class="champ" id="email" name="email" placeholder="Entrer Email" required/>
{% if error[1] != null %}
<p style="color: red"> {{ error[1] }} </p>
<input type="email" class="champ" id="email" name="email" placeholder="Entrez votre email" required/>
{% if error[1] is defined and error[1] is not empty %}
<p style="color: red">{{ error[1] }}</p>
{% endif %}
</div>
<div class="mdp">
<p>Mot de passe *</p>
<input type="password" class="champ" id="mdp" name="mdp" required placeholder="Entrer Mot de passe"/>
<input type="password" class="champ" id="mdp" name="mdp" required placeholder="Entrez votre mdp"/>
</div>
<div class="confmdp">
<p>Confirmer mot de passe *</p>
<input type="password" class="champ" id="cmdp" name="cmdp" placeholder="Confirmer Mot de passe" required/>
{% if error[2] != null %}
<p style="color: red"> {{ error[2] }} </p>
<input type="password" class="champ" id="cmdp" name="cmdp" placeholder="Confirmez votre mdp" required/>
{% if error[2] is defined and error[2] is not empty %}
<p style="color: red">{{ error[2] }}</p>
{% endif %}
</div>
<div class="imgprof">
<p>Image *</p>
</div>
<div class="connectAccount">
<p class="createAccount">Vous avez un compte?</p>
<a href="/login" class="connectAccount">Se connecter</a>
</div>
<div class="confirmer">
<input type="submit" class="btn" name="action" value="s'inscrire" />
<input type="submit" class="btn" name="action" value="S'inscrire" />
</div>
</div>
</form>

Loading…
Cancel
Save