diff --git a/app/controller/RegisterController.php b/app/controller/RegisterController.php index ac92392528c143d9ee9c4d95008385f0d95b2c3b..fdf3019423440d2ba07d0b11e039ce88e3e85738 100644 --- a/app/controller/RegisterController.php +++ b/app/controller/RegisterController.php @@ -11,30 +11,35 @@ class RegisterController extends Controller { // classe de contrôleur pour l'in } public function verify() { // vérifie si le login est disponible - if(!isset($_POST['pseudo']) || !isset($_POST['password']) || !isset($_POST['nom']) || !isset($_POST['prenom']) || !isset($_POST['email'])) { // si l'une des données manque, erreur + if(!isset($_POST['pseudo']) || !isset($_POST['password']) || !isset($_POST['password_bis']) || !isset($_POST['nom']) || !isset($_POST['prenom']) || !isset($_POST['email'])) { // si l'une des données manque, erreur //appeler une fonction d'erreur echo "<h1>Erreur : variables absentes</h1>"; die(); } $data = $_POST; - $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT); - $data['slug_joueur'] = self::slugify($_POST['pseudo']); + if($data['password'] == $data['password_bis']) { + $data['password'] = password_hash($data['password'], PASSWORD_DEFAULT); + $data['slug_joueur'] = self::slugify($_POST['pseudo']); - $result = Register::check($data['slug_joueur'], $_POST['email']); // vérifie si le pseudo est libre et que l'adresse email n'est pas déjà utilisée - if($result == 1) { // connexion valide - $success = Register::writedb($data);// on réalise l'inscription à l'aide d'une méthode de la classe Register - if($success == 1) { - header('Location:valid'); // on redirige vers la page OK + $result = Register::check($data['slug_joueur'], $_POST['email']); // vérifie si le pseudo est libre et que l'adresse email n'est pas déjà utilisée + if ($result == 1) { // connexion valide + $success = Register::writedb($data);// on réalise l'inscription à l'aide d'une méthode de la classe Register + if ($success == 1) { + header('Location:valid'); // on redirige vers la page OK + } else { + echo "<h1>Erreur : l'inscription a échoué</h1>"; + } + } else { + session_start(); // on démarre une session pour avoir accès aux variables superglobales de session + $_SESSION["registerErrCode"] = $result; // on stocke le code d'erreur + header('Location:../inscription'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne) } - else { - echo "<h1>Erreur : l'inscription a échoué</h1>"; - } - } - else { - session_start(); // on démarre une session pour avoir accès aux variables superglobales de session - $_SESSION["registerErrCode"] = $result; // on stocke le code d'erreur - header('Location:../inscription'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne) + } else { + session_start(); // on démarre une session pour avoir accès aux variables superglobales de session + $_SESSION["registerErrCode"] = 4; // on stocke le code d'erreur + header('Location:../inscription'); // on redirige vers la page de formulaire (il faut faire un retour dans le dossier parent pour que ça fonctionne) + } } diff --git a/app/view/Register/displayForm.html b/app/view/Register/displayForm.html index dce6e51568d1c68fc1f8f0ad5d4fa2f78841fc34..648032d36faffdcfb93c4248b40b90f4e9b28de4 100644 --- a/app/view/Register/displayForm.html +++ b/app/view/Register/displayForm.html @@ -9,7 +9,13 @@ <?php if(isset($_SESSION['registerErrCode'])) { // si message d'erreur $errCode = $_SESSION['registerErrCode']; - $errMsg = ($errCode == 2) ? '<h3>Pseudo déjà utilisé !</h3>' : '<h3>Adresse e-mail déjà utilisée !</h3>'; // on détermine le message à afficher + if($errCode == 2) { // on détermine le message + $errMsg = '<h3>Pseudo déjà utilisé !</h3>'; + } elseif($errCode == 3) { + $errMsg = '<h3>Adresse e-mail déjà utilisée !</h3>'; + } elseif($errCode == 4) { + $errMsg = '<h3>Mots de passe différants</h3>'; + } echo '<article class="msg-erreur">'.$errMsg.'</article>'; // on affiche le message unset($_SESSION['registerErrCode']); // on retire la variable de session }