Пример #1
0
 public function action()
 {
     $this->view->errors = array();
     // Si la requète est en POST
     if ($this->request->isPost()) {
         // Récupère les données du formulaire
         $formData = $this->request->getParams();
         // puis valide les données du formulaire
         $errors = array();
         $filterOptions = array('maxLength' => 40);
         if (!array_key_exists('inputName', $formData) || false === \My\DataFilter::isValidString($formData['inputName'], $filterOptions)) {
             $errors[] = 'Le champ "Nom" est invalide';
         }
         if (!array_key_exists('inputLogin', $formData) || false === \My\DataFilter::isValidString($formData['inputLogin'], $filterOptions)) {
             $errors[] = 'Le champ "Identifiant" est invalide';
         }
         if (!array_key_exists('inputEmail', $formData) || false === \My\DataFilter::isValidEmail($formData['inputEmail'])) {
             $errors[] = 'Le champ "E-mail" est invalide';
         }
         $this->view->errors = $errors;
         if (0 === count($errors)) {
             $user = new \App\Models\User();
             $user->setName($formData['inputName'])->setLogin($formData['inputLogin'])->setEmail($formData['inputEmail']);
             $bd = new \App\Models\Mappers\User('mysql:dbname=throne;host=127.0.0.1', 'root', '0000');
             $this->view->success = $bd->save($user);
             // redirection en cas de success vers l'index
             if ($this->view->success) {
                 // todo
                 header('location: index.phtml');
             }
         }
     }
 }