The connection as a user works and also the error management in case of bad password or identifier

rayhan_modification
Emre KARTAL 3 years ago
parent eb24736d32
commit 1996c6f195

@ -12,4 +12,4 @@ RewriteEngine On
RewriteRule ^login$ index.php?action=redirectionLogin [L]
RewriteRule ^inscription$ index.php?action=redirectionInscription [L]
RewriteRule ^VueListePublic$ index.php?action=redirectionListePublic [L]
RewriteRule ^VueListePublic$ index.php?action=redirectionListePublic [L]

@ -59,13 +59,13 @@ class CtrlVisiteur {
} catch (PDOException $e)
{
//si erreur BD, pas le cas ici
$dVueEreur[] = "Erreur BD!!! ";
$dVueEreur[] = "Erreur: Connexion a la base de données impossible! ";
require ($rep.$vues['erreur']);
}
catch (Exception $e2)
catch (Exception $e)
{
$dVueEreur[] = "Erreur inattendue!!! ";
$dVueEreur[] = "Erreur venue de nulle part";
require ($rep.$vues['erreur']);
}
@ -98,34 +98,43 @@ class CtrlVisiteur {
function seConnecter(array $dVueEreur) {
global $rep,$vues;
MdlVisiteur::Connection();
$action=NULL;
$this->ConsulterListePublic($dVueEreur);
try{
$result=MdlUtilisateur::Connection();
$action=NULL;
$this->ConsulterListePublic($dVueEreur);
}
catch (Exception $e)
{
$ErreurLog=$e->getMessage();
require ($rep.$vues['login']);
}
}
function ConsulterListePublic(array $dVueEreur) {
global $rep,$vues;
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}
function SupprimerTache(){
global $rep,$vues;
$id = $_GET['idTache'];
$tache = MdlVisiteur::SupprimerTache($id);
$tache = MdlVisiteur::SupprimerTache();
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}
function SupprimerListe(){
global $rep,$vues;
$id = $_GET['idListe'];
$liste = MdlVisiteur::SupprimerListe($id);
$liste = MdlVisiteur::SupprimerListe();
$listes = MdlVisiteur::RecupererListePublic();
$taches = MdlVisiteur::RecupererTache();
$action=NULL;
require ($rep.$vues['listPublic']);
}

@ -14,7 +14,7 @@ class FrontControleur {
// $action=$_REQUEST['action'];
// //On vérifie si l'action fait partie des listes d'actions
// $string_actor=fct($action,$listeActions);
// $string_actor=quelListe($action,$listeActions);
// if($string_actor!=NULL){
// $mdl=new mdl.$string_actor;
// $actor=$mdl.isMdl;
@ -34,7 +34,16 @@ class FrontControleur {
$dVueEreur[] = "Erreur inattendue!!! ";
require ($rep.$vues['erreur']);
}
}
public static function quelListe($action,$listeActions){
foreach($listeActions as $a){
if(in_array($action, $a)){
return array_search($a,$listeActions);
}
}
return null;
}
}
?>

@ -7,16 +7,23 @@ class MdlUtilisateur
}
public static function CreerUtilisateur(){
global $dVueEreur;
$userGtw = new UtilisateurGateway();
// $verif = Validation::val_form_user($_POST["nom-Form"],$_POST["prenom-Form"],$_POST["pseudo-Form"],$_POST["password-Form"],$_POST["mail-Form"],$dVueEreur);
// if($verif == false){
// throw new Exception();
// }
// $hash = password_hash($_POST[password-Form], PASSWORD_DEFAULT);
$userGtw->AjouterUtilisateur($_POST["nom-Form"],$_POST["prenom-Form"],$_POST["pseudo-Form"],$_POST["mail-Form"],$_POST["password-Form"]);
}
public function connection(){
$gtw=new UtilisateurGateway();
$mail=Validation::cleanString($_POST['mail']);
$mdp=Validation::cleanString($_POST['password']);
$verif_pass=$gtw->getCredentials($mail);
if(password_verify($mdp,$verif_pass)){
$userCurrent=$gtw->RechercheUtilisateurViaEmail($mail);
$_SESSION['role']='user';
$_SESSION['id']=$userCurrent->getId();
$_SESSION['nom']=$userCurrent->getNom();
$_SESSION['prenom']=$userCurrent->getPrenom();
$_SESSION['pseudo']=$userCurrent->getPseudo();
$_SESSION['email']=$userCurrent->getMail();
return $userCurrent;
}
else throw new Exception('Mot de passe incorrect*');
}
public static function RecupererListePublic(){
$userGtw = new ListeGateway();

@ -26,20 +26,21 @@ class MdlVisiteur
public static function RecupererTache(){
$userGtw = new TacheGateway();
return $userGtw->getTache();
}
public static function SupprimerTache(string $id){
$userGtw = new TacheGateway();
return $userGtw->Supprimer($id);
public static function SupprimerTache(){
$userGtw = new TacheGateway();
$id = $_GET['idTache'];
$userGtw->Supprimer($id);
}
public static function SupprimerListe(string $id){
$userGtw = new ListeGateway();
return $userGtw->Supprimer($id);
public static function SupprimerListe(){
$userGtw = new ListeGateway();
$taskGtw = new TacheGateway();
$id = $_GET['idListe'];
$taskGtw->SupprimerViaListe($id);
$userGtw->Supprimer($id);
}
}

@ -22,7 +22,7 @@ class ListeGateway{
}
public function Supprimer(int $id){
$query='DELETE FROM ToDoList_Liste WHERE id=:id';
$query="DELETE FROM ToDoList_Liste WHERE id=:id";
$this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
}
@ -33,13 +33,6 @@ class ListeGateway{
return $listes;
}
public function getTacheListe(Liste $liste){
$query = 'SELECT tache FROM ToDoList_Liste WHERE id=:id ';
$this->con->executeQuery($query, array('id' => array($liste->getId, PDO::PARAM_INT)));
$results=$this->con->getResults();
return $results;
}
public function getListePublic($offset,$limit){
$query = "SELECT * FROM ToDoList_Liste WHERE estPublic LIMIT $offset, $limit";
$this->con->executeQuery($query);

@ -25,6 +25,12 @@ class TacheGateway{
$this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
}
// Si une liste est supprimée on supprime toutes ces tâches grâce à cette fonction
public function SupprimerViaListe(string $id){
$query='DELETE FROM ToDoList_Tache WHERE idListe=:id';
$this->con->executeQuery($query,array('id' => array($id, PDO::PARAM_INT)));
}
public function getTache(){
$query='SELECT * FROM ToDoList_Tache';
$this->con->executeQuery($query);

@ -23,20 +23,27 @@ class UtilisateurGateway{
'id' => array($id, PDO::PARAM_INT)));
}
public getCredential(string $id){
$query = 'SELECT motDePasse FROM ToDoList_Utilisateur WHERE id=:id';
if(this->con->executeQuery($query, array('id' => array($id, PDO::PARAM_INT)))){
return (this->con->getResults[0]['motDePasse'])
}
else{
/* pas sur de ça*/
throw new PDOexception;
public function getCredentials(string $mail){
$query = 'SELECT motDePasse FROM ToDoList_Utilisateur WHERE email=:mail';
$this->con->executeQuery($query, array('mail' => array($mail, PDO::PARAM_STR)));
$results=$this->con->getResults();
if($results!=null){
return $results[0]['motDePasse'];
}else{
throw new Exception("Identifiant introuvable*");
}
}
public function RechercheUtilisateurViaEmail(string $pseudo){
public function RechercheUtilisateurViaEmail(string $mail){
$query = 'SELECT * FROM ToDoList_Utilisateur WHERE email=:mail';
$this->con->executeQuery($query, array('mail' => array($mail, PDO::PARAM_INT)));
$results=$this->con->getResults();
if($results!=null){
return new Utilisateur($results[0]['id'],$results[0]['nom'],$results[0]['prenom'],$results[0]['pseudo'],$results[0]['email']);
}else{
throw new Exception("Identifiant introuvable*");
}
}
}
?>

@ -1,65 +0,0 @@
<?php
class Admin
{
private $id;
private $nom;
private $prenom;
private $pseudo;
private $email;
public function __construct($id, $nom, $prenom, $pseudo, $email, $motDePasse, $isAdmin){
$this->id = $id;
$this->nom = $nom;
$this->prenom = $prenom;
$this->pseudo = $pseudo;
$this->email = $email;
}
//Nom
public function getId(){
return $this->id;
}
public function setId($id){
$this->nom = $id;
}
//Nom
public function getNom(){
return $this->nom;
}
public function setNom($nom){
$this->nom = $nom;
}
//Prenom
public function getPrenom(){
return $this->prenom;
}
public function setPrenom($prenom){
$this->prenom = $prenom;
}
//Pseudo
public function getPseudo(){
return $this->pseudo;
}
public function setPseudo($pseudo){
$this->pseudo = $pseudo;
}
//mail
public function getMail(){
return $this->email;
}
public function setEmail($email){
$this->email = $email;
}
}
?>

@ -7,15 +7,13 @@ class Utilisateur
private $prenom;
private $pseudo;
private $email;
private $isAdmin;
public function __construct($id, $nom, $prenom, $pseudo, $email, $motDePasse, $isAdmin){
public function __construct($id, $nom, $prenom, $pseudo, $email){
$this->id = $id;
$this->nom = $nom;
$this->prenom = $prenom;
$this->pseudo = $pseudo;
$this->email = $email;
$this->isAdmin = $isAdmin;
}
//Nom

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.3 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

@ -282,7 +282,10 @@ body::before {
transition: background .5s;
}
.ErreurText{
color: red;
font-size: 0.7rem;
}
.button{
border-color: #38b6ff;

@ -17,8 +17,8 @@
</style>
<ul class="navbar-nav ml-auto">
<?php
if(isset($_SESSION["idUtilisateur"]) and $_SESSION["idUtilisateur"]){ ?>
<h4><a class="nav-item nav-link text-light" href="index.php?action=showPrivateList&userid=<?= $_SESSION["idUtilisateur"] ?>">Mes listes</a></h4>
if(isset($_SESSION['id'])){ ?>
<h4><a class="nav-item nav-link text-light" href="#">Mes listes</a></h4>
<h4><a class="nav-item nav-link text-light" href="index.php?action=logout">Se deconnecter</a></h4>
<?php
} else {

@ -30,11 +30,11 @@
<span class="h2 me-2 text-info"><?= $liste->getNom()?>
<a href="index.php?action=SupprimerListe&idListe=<?= $liste->getId() ?>">
<button class="btn btn-default">
<img src="./vue/Images/trash.png" width="25" />
<img src="./vue/Images/trash.png" width="20" />
</button>
</a>
<button type="submit" class="btn btn-default">
<img src="./vue/Images/edit.png" width="25" />
<img src="./vue/Images/edit.png" width="20" />
</button>
</span>
</p>
@ -53,13 +53,13 @@
<?= $tache->getNom() ?> : <?= $tache->getDescription() ?>
<a href="index.php?action=SupprimerTache&idTache=<?= $tache->getId() ?>">
<button class="btn btn-default">
<img src="./vue/Images/trash.png" width="25" />
</button>
</a>
<button class="btn btn-default">
<img src="./vue/Images/trash.png" width="18" />
</button>
</a>
<button type="submit" class="btn btn-default">
<img src="./vue/Images/edit.png" width="25" />
<img src="./vue/Images/edit.png" width="18" />
</button>
</li>
<?php

@ -13,10 +13,11 @@
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
</head>
<body>
<?php require($rep.$vues['NavBar']); ?>
<div class="model">
<h1>ERREUR !!!!!</h1>
<h1>Un problème est survenue !</h1>
<?php
if (isset($dVueEreur)) {
foreach ($dVueEreur as $value){
@ -24,6 +25,7 @@
}
}
?>
<a href="VueListePublic">Revenir</a>
</div>
</body>

@ -21,7 +21,12 @@
<div class="login-card-header">
<h1>Se Connecter</h1>
</div>
<form class="login-card-form">
<?php
if(isset($ErreurLog)){?>
<center><p class="ErreurText"> <?php echo $ErreurLog?></p></center><?php
}
?>
<form method="POST" class="login-card-form">
<div class="form-item">
<span class="form-item-icon material-symbols-rounded">mail</span>
<input type="text" name="mail" placeholder="Enter Mail" required autofocus>
@ -49,7 +54,7 @@
</form>
<div class="login-card-footer">
Pas de compte ?
<a href="index.php?action=redirectionInscription">Creer un compte</a>
<a href="inscription">Creer un compte</a>
</div>
</div>
<div class="social">

Loading…
Cancel
Save