Skip to content
Extraits de code Groupes Projets
Valider e1a82834 rédigé par Valentin BRUNEAU's avatar Valentin BRUNEAU
Parcourir les fichiers

Modif de la page compte utilisateur

parent 750334dc
Branches
Aucune étiquette associée trouvée
Aucune requête de fusion associée trouvée
<?php <?php
defined('BASEPATH') OR exit('No direct script access allowed'); defined('BASEPATH') OR exit('No direct script access allowed');
class User extends CI_Controller { class User extends CI_Controller
{
public function inscription() public function inscription()
{ {
$this->load->view('inscription'); $this->load->view('inscription');
} }
public function inscription_success(){ public function inscription_success()
{
if (isset($_POST['suscribe'])) { if (isset($_POST['suscribe'])) {
$this->load->database(); $this->load->database();
...@@ -36,18 +38,19 @@ class User extends CI_Controller { ...@@ -36,18 +38,19 @@ class User extends CI_Controller {
$this->load->view('inscription_success'); $this->load->view('inscription_success');
} } else {
else {
$this->load->view('inscription'); $this->load->view('inscription');
} }
} }
} }
public function connexion(){ public function connexion()
{
$this->load->view('connexion'); $this->load->view('connexion');
} }
public function connexion_success(){ public function connexion_success()
{
if (isset($_POST['login'])) { if (isset($_POST['login'])) {
$this->load->database(); $this->load->database();
...@@ -62,14 +65,14 @@ class User extends CI_Controller { ...@@ -62,14 +65,14 @@ class User extends CI_Controller {
$_SESSION['logged_in'] = TRUE; $_SESSION['logged_in'] = TRUE;
$_SESSION['username'] = $_POST['email']; $_SESSION['username'] = $_POST['email'];
$this->load->view('connexion_success'); $this->load->view('connexion_success');
} } else {
else {
$this->load->view('connexion'); $this->load->view('connexion');
} }
} }
} }
public function verif_user(){ public function verif_user()
{
$this->db->select('*'); $this->db->select('*');
$this->db->from('utilisateur'); $this->db->from('utilisateur');
$this->db->where(array('mail' => $_POST['email'], 'password' => hash("sha1", $_POST['password_c']))); $this->db->where(array('mail' => $_POST['email'], 'password' => hash("sha1", $_POST['password_c'])));
...@@ -78,24 +81,26 @@ class User extends CI_Controller { ...@@ -78,24 +81,26 @@ class User extends CI_Controller {
$user = $query->row(); $user = $query->row();
if ($user != NULL) { if ($user != NULL) {
return TRUE; return TRUE;
} } else {
else{
$this->form_validation->set_message('verif_user', 'Aucun compte ne correspond à ces identifiants'); $this->form_validation->set_message('verif_user', 'Aucun compte ne correspond à ces identifiants');
return FALSE; return FALSE;
} }
} }
public function deconnexion(){ public function deconnexion()
{
$this->load->library('session'); $this->load->library('session');
$this->load->view('deconnexion'); $this->load->view('deconnexion');
$this->session->sess_destroy(); $this->session->sess_destroy();
} }
public function compte(){ public function compte()
{
$this->load->view('compte'); $this->load->view('compte');
} }
public function compte_success(){ public function compte_success()
{
if (isset($_POST['edition'])) { if (isset($_POST['edition'])) {
$this->load->database(); $this->load->database();
...@@ -109,26 +114,56 @@ class User extends CI_Controller { ...@@ -109,26 +114,56 @@ class User extends CI_Controller {
$this->form_validation->set_rules('mail_edit', 'Mail', 'valid_email|is_unique[utilisateur.mail]'); $this->form_validation->set_rules('mail_edit', 'Mail', 'valid_email|is_unique[utilisateur.mail]');
} }
$this->form_validation->set_rules('old_password', 'Ancien mot de passe', 'callback_verif_oldpassword');
$this->form_validation->set_rules('password_edit', 'Mot de passe', 'min_length[7]'); $this->form_validation->set_rules('password_edit', 'Mot de passe', 'min_length[7]');
$this->form_validation->set_rules('password_c_edit', 'Confirmation du mot de passe', 'matches[password_edit]'); $this->form_validation->set_rules('password_c_edit', 'Confirmation du mot de passe', 'matches[password_edit]');
if ($this->form_validation->run() == TRUE) { if ($this->form_validation->run() == TRUE) {
if ($_POST['password_edit'] != NULL) {
$mdp_hash = hash("sha1", $_POST['password_edit']);
$this->db->set('password', $mdp_hash);
$this->db->where(array('mail' => $_POST['email_edit']));
$this->db->update('utilisateur'); $this->db->update('utilisateur');
}
if ($_POST['email_edit'] != $_SESSION['username']) {
$this->db->set('mail', $_POST['email_edit']); $this->db->set('mail', $_POST['email_edit']);
$this->db->where(array('mail' => $_SESSION['username'])); $this->db->where(array('mail' => $_SESSION['username']));
if (isset($_POST['password_edit'])) {
$mdp_hash = hash("sha1", $_POST['password_edit']);
$this->db->update('utilisateur'); $this->db->update('utilisateur');
$this->db->set('password',$mdp_hash);
$this->db->where(array('mail' => $_POST['email_edit'])); $this->load->library('session');
$this->session->sess_destroy();
}
$this->load->view('compte_success');
} else {
$this->load->view('compte');
}
} }
} }
public function verif_oldpassword()
{
if ($_POST['old_password'] != NULL) {
$this->db->select('password');
$this->db->from('utilisateur');
$this->db->where(array('mail' => $_SESSION['username']));
$query = $this->db->get();
$password = $query->row();
if ($password == hash("sha1", $_POST['old_password'])) {
return TRUE;
}
else { else {
$this->load->view('compte'); $this->form_validation->set_message('verif_oldpassword', 'Ancien mot de passe invalide');
return FALSE;
} }
} }
return TRUE;
} }
} }
\ No newline at end of file
...@@ -47,8 +47,11 @@ defined('BASEPATH') OR exit('No direct script access allowed'); ...@@ -47,8 +47,11 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<header class="masthead"> <header class="masthead">
<div class="container d-flex h-100 align-items-center"> <div class="container d-flex h-100 align-items-center">
<div class="mx-auto text-center"> <div class="mx-auto text-center">
<h1 class="mx-auto my-0 text-uppercase">Vos informations : </h1> <br><br>
<br><br><br> <h1 class="mx-auto my-0 text-uppercase">Votre compte : </h1>
<br><br>
<h2 class="mx-auto my-0 text-uppercase text-white">Modifier vos identifiants : </h2><br>
<form action="compte_success" method="POST"> <form action="compte_success" method="POST">
<div class="form-group"> <div class="form-group">
...@@ -56,6 +59,12 @@ defined('BASEPATH') OR exit('No direct script access allowed'); ...@@ -56,6 +59,12 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<?php echo form_error("email_edit");?> <?php echo form_error("email_edit");?>
</div> </div>
<br> <br>
<div class="form-group">
<input class="form-control" name="old_password" id="old_password" type="password" placeholder="Entrez votre ancien mot de passe
( Non requis si vous souhaitez modifier uniquement votre email ) ">
<?php echo form_error("old_password");?>
</div>
<br>
<div class="form-group"> <div class="form-group">
<input class="form-control" name="password_edit" id="password_edit" type="password" placeholder="Entrez votre nouveau mot de passe <input class="form-control" name="password_edit" id="password_edit" type="password" placeholder="Entrez votre nouveau mot de passe
( Non requis si vous souhaitez modifier uniquement votre email ) "> ( Non requis si vous souhaitez modifier uniquement votre email ) ">
...@@ -68,7 +77,7 @@ defined('BASEPATH') OR exit('No direct script access allowed'); ...@@ -68,7 +77,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
</div> </div>
<br> <br>
<div> <div>
<button class="btn btn-primary mx-auto" name="edition">Modifier vos identifiants</button> <button class="btn btn-primary mx-auto" name="edition">Enregistrer</button>
</div> </div>
</form> </form>
</div> </div>
......
...@@ -45,9 +45,9 @@ defined('BASEPATH') OR exit('No direct script access allowed'); ...@@ -45,9 +45,9 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<!-- Header --> <!-- Header -->
<header class="masthead"> <header class="masthead">
<div class="container d-flex h-100 align-items-center"> <div class="container d-flex align-items-center">
<div class="mx-auto text-center"> <div class="mx-auto text-center">
<h1 class="mx-0">Les modifications ont été enregistrées!</h1> <h1> Modifications enregistrées! Déconnexion automatique si vous avez modifier votre adresse mail.</h1>
</div> </div>
</div> </div>
</header> </header>
......
...@@ -31,7 +31,7 @@ defined('BASEPATH') OR exit('No direct script access allowed'); ...@@ -31,7 +31,7 @@ defined('BASEPATH') OR exit('No direct script access allowed');
<header class="masthead"> <header class="masthead">
<div class="container d-flex h-100 align-items-center"> <div class="container d-flex h-100 align-items-center">
<div class="mx-auto text-center"> <div class="mx-auto text-center">
<h1 class="mx-auto my-0 text-uppercase">Your are registered!</h1> <h1 class="mx-auto my-0 text-uppercase">Vous êtes inscrit!</h1>
</div> </div>
</div> </div>
</header> </header>
......
0% Chargement en cours ou .
You are about to add 0 people to the discussion. Proceed with caution.
Veuillez vous inscrire ou vous pour commenter