diff --git a/CodeIgniter-3.1.13/application/controllers/Utilisateur.php b/CodeIgniter-3.1.13/application/controllers/Utilisateur.php index 890ce25..298df6b 100644 --- a/CodeIgniter-3.1.13/application/controllers/Utilisateur.php +++ b/CodeIgniter-3.1.13/application/controllers/Utilisateur.php @@ -16,7 +16,8 @@ class Utilisateur extends CI_Controller { $this->form_validation->set_rules('nom', 'Nom', 'required'); $this->form_validation->set_rules('prenom', 'Prénom', 'required'); $this->form_validation->set_rules('telephone', 'Téléphone', 'max_length[20]'); - + $this->form_validation->set_rules('password', 'Mot de passe', 'required|min_length[6]'); + if ($this->form_validation->run() == FALSE) { // Charger la vue avec les erreurs $this->load->view('layout/header_not_logged_dark'); @@ -28,13 +29,14 @@ class Utilisateur extends CI_Controller { 'email' => $this->input->post('email'), 'nom' => $this->input->post('nom'), 'prenom' => $this->input->post('prenom'), - 'telephone' => $this->input->post('telephone') + 'telephone' => $this->input->post('telephone'), + 'password' => password_hash($this->input->post('password'), PASSWORD_DEFAULT) // Hasher le mot de passe ); - + // Insérer les données dans la base de données if ($this->Utilisateur_model->insert_user($data)) { $this->session->set_flashdata('success', 'Inscription réussie. Vous pouvez maintenant vous connecter.'); - redirect('utilisateur/inscription'); + redirect('utilisateur/connexion'); } else { $data['error'] = 'Une erreur est survenue. Veuillez réessayer.'; $this->load->view('layout/header_not_logged_dark'); @@ -43,4 +45,35 @@ class Utilisateur extends CI_Controller { } } } + + public function connexion(){ + // Définir les règles de validation + $this->form_validation->set_rules('email', 'Email', 'required|valid_email'); + $this->form_validation->set_rules('password', 'Mot de passe', 'required'); + + if ($this->form_validation->run() == FALSE) { + // Charger la vue avec les erreurs + $this->load->view('layout/header_not_logged_dark'); + $this->load->view('connexion'); + $this->load->view('layout/footer_dark'); + } else { + // Récupérer les données du formulaire + $email = $this->input->post('email'); + $password = $this->input->post('password'); + + // Vérifier les informations d'identification dans la base de données + $user = $this->Utilisateur_model->get_user($email); + + if ($user && password_verify($password, $user->password)) { + // Connexion réussie, enregistrer l'utilisateur dans la session + $this->session->set_userdata('user_id', $user->id); + redirect('dashboard'); + } else { + $data['error'] = 'Email ou mot de passe incorrect.'; + $this->load->view('layout/header_not_logged_dark'); + $this->load->view('connexion', $data); + $this->load->view('layout/footer_dark'); + } + } + } } diff --git a/CodeIgniter-3.1.13/application/models/Utilisateur_model.php b/CodeIgniter-3.1.13/application/models/Utilisateur_model.php index 23cd895..7736445 100644 --- a/CodeIgniter-3.1.13/application/models/Utilisateur_model.php +++ b/CodeIgniter-3.1.13/application/models/Utilisateur_model.php @@ -11,4 +11,10 @@ class Utilisateur_model extends CI_Model { public function insert_user($data){ return $this->db->insert('utilisateur', $data); } + + public function get_user($email) { + $query = $this->db->get_where('utilisateur', array('email' => $email)); + return $query->row(); + } + } diff --git a/CodeIgniter-3.1.13/application/views/connexion.php b/CodeIgniter-3.1.13/application/views/connexion.php new file mode 100644 index 0000000..4b5e0da --- /dev/null +++ b/CodeIgniter-3.1.13/application/views/connexion.php @@ -0,0 +1,36 @@ + + +
+ + +