/** * Fonction permettant d'enregistrer un utilisateur de maniere "classique" * @param string $pseudo * @param string $email * @param string $password * @param string $password2 * @param Validator $validator * @return array */ public function registerNormal($pseudo, $email, $password, $password2, Validator $validator) { $validator->checkPseudo($pseudo); $validator->checkEmail($email); $validator->checkPassword($password, $password2); if (count($validator->getErrors()) === 0) { $password = password_hash($password, PASSWORD_BCRYPT); $key = Helper::generateKey(); $sql = $this->db->prepare("INSERT INTO users(pseudo, email, password, created_at, validation_key) VALUES (?, ?, ?, NOW(), ?)"); $sql->execute([$pseudo, $email, $password, $key]); if (!$sql) { $validator->setErrors('insert', "Une erreur s'est produite"); $validator->setErrors('error', true); } else { Helper::sendValidationEmail($this->db->lastInsertId(), $email, $key); } } return $validator->getErrors(); }
<?php use App\Utility\Helper; require_once "vendor/autoload.php"; $getModel = new \App\Models\UserModel(); $results['error'] = false; $results['message'] = ""; if (!empty($_POST)) { if (isset($_POST['id'], $_POST['email'], $_POST['_token'])) { if (!empty($_POST['id']) && !empty($_POST['email']) && !empty($_POST['_token'])) { $validator = new \App\Validator(); if ($validator->isTokenValid($_POST['_token'], $_POST['id'])) { $user = $getModel->findById($_POST['id'], "id, email, validation_key"); if ($user) { Helper::sendValidationEmail($user->id, $user->email, $user->validation_key); } } } } }