success) { $status = "Veuillez cocher la case reCAPTCHA."; } else { if (isset($_POST['password1']) && isset($_POST['password2'])) { if(empty($_POST['username']) == false && empty($_POST['password1']) === false && empty($_POST['password2']) === false) { if(preg_match('!\S!u', $_POST['username']) && preg_match('!\S!u', $_POST['password1']) && preg_match('!\S!u', $_POST['password2'])) { if($_POST['password1'] == $_POST['password2']) { if (empty($_POST['email']) === false && preg_match('!\S!u', $_POST['username']) == false) { $status = "Caractères illégaux"; } else { $userEmail = isset($_POST['email']) ? strtolower($_POST['email']) : NULL; $userDisplayName = htmlspecialchars(substr($_POST['username'], 0, 20)); $userName = str_replace(" ", "_", strtolower(htmlspecialchars(substr($_POST['username'], 0, 20)))); $sqlRequest = "SELECT ID FROM users WHERE username = :username"; $request = $pdo->prepare($sqlRequest); $request->bindParam(":username", $userName); $request->execute(); $result = $request->fetchAll(PDO::FETCH_ASSOC); if($result) { $status = "Le nom d'utilisateur existe déjà"; } else { $request = $pdo->prepare("INSERT INTO users (username, password, email, display_name, role, accreditation) VALUES (:username, :password, :email, :display_name, 1, 1)"); $request->bindParam(':username', $userName); $request->bindParam(':password', md5($_POST['password1'])); $request->bindParam(':email', $userEmail); $request->bindParam(':display_name', $userDisplayName); if ($request->execute()) { header("Location: index.php"); exit(); } else { $status = "Erreur SQL"; } } } } else { $status = "Les mots de passe ne correspondent pas"; } } else { $status = "Caractères illégaux"; } } else { $status = "Les champs ne doivent pas être vides"; } } } } else { $status = "Erreur, captcha vide"; } } ?>