public function inscription() { if (is_connected()) { redirect('accueil'); } else { $this->load->helper('form'); $this->load->library('form_validation'); // On fixe les règles concernant le formulaire d'inscription : $this->form_validation->set_rules('nom', '"Nom de l\'utilisateur"', 'trim|required|alpha_dash|encode_php_tags'); $this->form_validation->set_rules('prenom', '"Prénom de l\'utilisateur"', 'trim|required|alpha_dash|encode_php_tags'); $this->form_validation->set_rules('login', '"Login de l\'utilisateur"', 'trim|required|alpha_dash|encode_php_tags'); $this->form_validation->set_rules('email', '"Email de l\'utilisateur"', 'trim|required|valid_email|encode_php_tags'); $this->form_validation->set_rules('mdp', '"Mot de passe de l\'utilisateur"', 'trim|required|alpha_dash|encode_php_tags'); $this->form_validation->set_rules('mdp2', '"Mot de passe de vérification"', 'trim|required|alpha_dash|encode_php_tags|matches[mdp]'); if ($this->form_validation->run()) { // Le formulaire est valide // On vérifie que l'adresse mail n'est pas déjà utilisée : $mail = $this->input->post('email'); $mail = htmlspecialchars($mail); $resultat = $this->db->query("SELECT * FROM utilisateur WHERE email = ?", array($mail)); $rows = $resultat->num_rows(); if ($rows > 0) { $data = array(); $data['erreur'] = "Cette adresse email est déjà utilisée..."; $data['menu_categories'] = $this->menu_categories; $this->layout->view('inscription', $data); } else { // On vérifie désormais que le pseudo n'est pas déjà utilisé : $pseudo = $this->input->post('login'); $resultat2 = $this->db->query("SELECT * FROM utilisateur WHERE login = ?", array($pseudo)); $rows2 = $resultat2->num_rows(); if ($rows2 > 0) { $data2 = array(); $data2['erreur_login'] = "******"; $data2['menu_categories'] = $this->menu_categories; $this->layout->view('inscription', $data2); } else { // Ici on instancie les variables de session et on enregistre l'utilisateur en base de données : // On charge les éléments nécessaires : $this->load->library('utilisateur'); $this->load->model('utilisateurManager'); // On récupère les données envoyées par le formulaire d'inscription afin d'instancier un objet Utilisateur : $utilisateur = new Utilisateur(); $utilisateur->setNom($this->input->post('nom')); $utilisateur->setPrenom($this->input->post('prenom')); $utilisateur->setLogin($this->input->post('login')); $utilisateur->setEmail($this->input->post('email')); $utilisateur->setPassword($this->input->post('mdp')); $utilisateur->setNiveau('2'); // On ajoute l'utilisateur en bdd via le manager : $this->utilisateurManager->ajouter_utilisateur($utilisateur); // On instancie les variables de session : $this->session->set_userdata('login', $utilisateur->login()); $this->session->set_userdata('niveau', $utilisateur->niveau()); // On redirige l'utilisateur vers la page d'accueil : redirect('accueil'); } } } else { // Le formulaire est invalide ou vide $data = array(); $data['menu_categories'] = $this->menu_categories; $this->layout->view('inscription', $data); } } }
//Création d'un Utilisateur par défaut $newUtilisateur = new Utilisateur(); $validPassword = filter_input(INPUT_POST, 'password', FILTER_SANITIZE_STRING); $validPassword2 = filter_input(INPUT_POST, 'password2', FILTER_SANITIZE_STRING); if ($validPassword != null && $validPassword2 != null) { if ($validPassword == $validPassword2) { $newLog->setLevel("INFO"); $newLog->setMsg("Les deux mots de passe rentrés sont les mêmes."); $newLog->setDateTime(date('Y/m/d G:i:s')); $validTableLog = Table_logDAL::insertOnDuplicate($newLog); $newUtilisateur->setPassword($validPassword); //echo "OK pour Passwd:".$newUtilisateur->getPassword //=====Vérification de ce qui est renvoyé par le formulaire $validLogin = filter_input(INPUT_POST, 'pseudo', FILTER_SANITIZE_STRING); if ($validLogin != null) { $newUtilisateur->setLogin($validLogin); //echo "OK pour Login : "******"OK pour Nom :".$newUtilisateur->getNom(); } $validPrenom = filter_input(INPUT_POST, 'prenom', FILTER_SANITIZE_STRING); if ($validPrenom != null) { $newUtilisateur->setPrenom($validPrenom); //echo "OK pour Prenom :".$newUtilisateur->getPrenom(); } $validEmail = filter_input(INPUT_POST, 'email', FILTER_SANITIZE_STRING); if ($validEmail != null) { $newUtilisateur->setMail($validEmail);