Example #1
0
 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);
         }
     }
 }
 if ($nbreUtilisateursRestants > 0) {
     $newLog->setLevel("INFO");
     $newLog->setMsg("Initialisation de la création d'un utilisateur.");
     $newLog->setDateTime(date('Y/m/d G:i:s'));
     $validTableLog = Table_logDAL::insertOnDuplicate($newLog);
     //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);