action&exception
Anna BOUDOUL 2 years ago
commit fbabc27785

@ -14,7 +14,7 @@ class FrontCtrl
$this->TMessage = $TMessage; $this->TMessage = $TMessage;
$this->TabVues = $TabVues; $this->TabVues = $TabVues;
$this->usrMdl = new UserModel($con); $this->usrMdl = new UserModel($con);
$this->action_User = array('deconnexion','loadListePriv','newListPrivate'); $this->action_User = array('deconnecter','loadListePriv','newListPrivate');
try{ try{
$this->isUser = $this->usrMdl->isConnected(); $this->isUser = $this->usrMdl->isConnected();
@ -24,12 +24,12 @@ class FrontCtrl
if(!$this->isUser){ # si pas conncter if(!$this->isUser){ # si pas conncter
# appel controlleur visiteur avec action connecter # appel controlleur visiteur avec action connecter
require("VisitorCtrl.php"); require("VisitorCtrl.php");
$visitCtrl = new VisitorCtrl($con, $this->TabVues, $this->TMessage); $visitCtrl = new VisitorCtrl($con, $this->TabVues, $this->TMessage, $this->isUser);
$visitCtrl->goconnexion(); $visitCtrl->goconnexion();
} else { # sinon } else { # sinon
# handle action avec controlleur user # handle action avec controlleur user
require("UserCtrl.php"); require("UserCtrl.php");
$userCtrl = new UserCtrl(); $userCtrl = new UserCtrl($con, $this->TabVues);
} }
} else { # sinon forcement action visiteur } else { # sinon forcement action visiteur

@ -1,5 +1,5 @@
<?php <?php
require_once("../model/TaskModel.php"); require_once("model/TaskModel.php");
class UserCtrl class UserCtrl
{ {
@ -64,8 +64,8 @@ class UserCtrl
} }
public function deconnexion(){ public function deconnexion(){
$usrModel->deconnexion(); $this->userModel->deconnexion();
loadHome(); header("Location:index.php");
} }
} }
?> ?>

@ -95,7 +95,16 @@ class VisitorCtrl
} }
function loadHome(){ function loadHome(){
$public_lists = $this->taskModel->loadPublicLists(); $public_lists = $this->taskModel->loadPublicLists();
# le if suivant est nécéssaire dans le cas ou l'action
# connection a été appeller. Dans ce cas, loadHome doit
# prendre en compte le user qui vient d'être ajouter a
# $_SESSION['login']
if(isset($_SESSION['login']) && $_SESSION['login'] != "")
$user = $_SESSION['login'];
else
$user = $this->isUser; $user = $this->isUser;
require($this->TabVues["home"]); require($this->TabVues["home"]);
} }
@ -110,7 +119,7 @@ class VisitorCtrl
} }
function connection(){ function connection(){
$this->userModel->connexion($user,$mdp); $this->userModel->connexion($_POST['username'],$_POST['password']);
$this->loadHome(); $this->loadHome();
} }
@ -120,7 +129,8 @@ class VisitorCtrl
} }
function register(){ function register(){
$this->userModel->ajouter($user,$mdp); $this->userModel->ajouter($_POST['username'],$_POST['password']);
$this->go_connection();
} }
function go_list(){ function go_list(){

@ -47,8 +47,8 @@
$query = 'SELECT mdp FROM User WHERE login = :login'; $query = 'SELECT mdp FROM User WHERE login = :login';
$this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR))); $this->con->executeQuery($query, array(':login'=>array($login, PDO::PARAM_STR)));
$result = $this->con->getResults(); $result = $this->con->getResults();
$hash = password_hash($result[0]['mdp'], PASSWORD_BCRYPT, array("cost" => 12));
if(password_verify($mdp, $hash)) if(password_verify($mdp, $result[0][0]))
return $login; return $login;
} }
} }

@ -16,6 +16,7 @@
Validation::val_form_texte($login, $TMessage); Validation::val_form_texte($login, $TMessage);
Validation::val_form_mdp($mdp, $TMessage); Validation::val_form_mdp($mdp, $TMessage);
$result = $this->gat->findUser($login, $mdp); $result = $this->gat->findUser($login, $mdp);
if(!isset($result)) echo 'not set works'; if(!isset($result)) echo 'not set works';
else else
{ {
@ -26,7 +27,6 @@
function deconnexion(){ function deconnexion(){
session_unset(); session_unset();
session_destroy(); session_destroy();
$_SESSION = array();
} }
function isConnected(){ //teste rôle dans la session, retourne instance dobjet ou booleen function isConnected(){ //teste rôle dans la session, retourne instance dobjet ou booleen

@ -48,21 +48,22 @@
<!--Contenue de la page ici--> <!--Contenue de la page ici-->
<div class="container-fluid"> <div class="container-fluid">
<h1 class="text-center my-3 pb-3">Welcome back!</h1> <h1 class="text-center my-3 pb-3">Welcome back!</h1>
<form> <form action="index.php" method="post">
<!-- Login input --> <!-- Login input -->
<div class="form-outline mb-4 align-items-center"> <div class="form-outline mb-4 align-items-center">
<input type="email" id="form2Example1" class="form-control" /> <input name="username" type="text" id="form2Example1" class="form-control" required/>
<label class="form-label" for="form2Example1">Username</label> <label class="form-label" for="form2Example1">Username</label>
</div> </div>
<!-- Password input --> <!-- Password input -->
<div class="form-outline mb-4"> <div class="form-outline mb-4">
<input type="password" id="form2Example2" class="form-control" /> <input name="password" type="password" id="form2Example2" class="form-control" required/>
<label class="form-label" for="form2Example2">Password</label> <label class="form-label" for="form2Example2">Password</label>
</div> </div>
<!-- Submit button --> <!-- Submit button -->
<button type="button" class="btn btn-primary btn-block mb-4" action="connecter">Sign in</button> <button type="submit" class="btn btn-primary btn-block mb-4">Log In</button>
<input type="hidden" name="action" value="connecter" ></input>
</form> </form>
</div> </div>

@ -48,21 +48,22 @@
<!--Contenue de la page ici--> <!--Contenue de la page ici-->
<div class="container-fluid"> <div class="container-fluid">
<h2 class="text-center my-3 pb-3">Make private lists with a personnal account</h2> <h2 class="text-center my-3 pb-3">Make private lists with a personnal account</h2>
<form> <form action="index.php" method="post">
<!-- Login input --> <!-- Login input -->
<div class="form-outline mb-4 align-items-center"> <div class="form-outline mb-4 align-items-center">
<input type="email" id="form2Example1" class="form-control" /> <input name="username" type="text" id="form2Example1" class="form-control" required/>
<label class="form-label" for="form2Example1">Username</label> <label class="form-label" for="form2Example1">Username</label>
</div> </div>
<!-- Password input --> <!-- Password input -->
<div class="form-outline mb-4"> <div class="form-outline mb-4">
<input type="password" id="form2Example2" class="form-control" /> <input name="password" type="password" id="form2Example2" class="form-control" required/>
<label class="form-label" for="form2Example2">Password</label> <label class="form-label" for="form2Example2">Password</label>
</div> </div>
<!-- Submit button --> <!-- Submit button -->
<button type="button" class="btn btn-primary btn-block mb-4" action="register">Register</button> <button type="submit" class="btn btn-primary btn-block mb-4">Register</button>
<input type="hidden" name="action" value="register" ></input>
</form> </form>
</div> </div>

Loading…
Cancel
Save