Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php require("inc/header.php"); ?>
- <?php
- require_once("inc/functions.php");
- $errors = array();
- require_once("inc/db.php");
- if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
- $errors['username'] = "Vous n'avez pas rentrer de pseudo valide (alphanumérique).";
- } else {
- $req = $db->prepare("SELECT id FROM users WHERE username = ?");
- $req->execute([$_POST['username']]);
- $user = $req->fetch();
- if ($user) {
- $error['username'] = "Ce pseudo est déjà utilisé.";
- }
- }
- if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
- $errors['email'] = "Votre email n'est pas valide.";
- } else {
- $req = $db->prepare("SELECT id FROM users WHERE email = ?");
- $req->execute([$_POST['email']]);
- $user = $req->fetch();
- if ($user) {
- $error['email'] = "Cette email est déjà utilisé.";
- }
- }
- if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
- $errors['password'] = "Vous devez rentrer un mot de passe valide.";
- }
- if (empty($error)) {
- $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
- $req = $db->prepare("INSERT INTO users VALUE (NULL, ?, ?, ?, NULL)");
- $token = str_random(60);
- $req->execute($_POST['username'], $_POST['email'], $password, $token);
- $user_id = $db->lastInsertId();
- mail($_POST['email'], 'Confirmation de votre compte', "Afin de valider votre compte, merci de cliquer sur le lien suivant : \n\nhttp://LydanstaCorp/45/confirm.php?id=$user_id&token=$token");
- header('location: login.php');
- exit();
- }
- ?>
- <!-- Main -->
- <section id="main">
- <header>
- <span class="avatar"><img src="images/avatar.jpg" alt=""/></span>
- <h1>S'enregistrer</h1>
- </header>
- <?php if(!empty($errors)): ?>
- <p>Vous n'avez pas rempli le formulaire correctement</p>
- <ul>
- <?php foreach ($errors as $error): ?>
- <li><?= $error; ?></li>
- <?php endforeach; ?>
- </ul>
- <?php endif; ?>
- <form method="post" action="">
- <div class="field">
- <input type="text" name="username" id="username" placeholder="Identifiant"/>
- </div>
- <div class="field">
- <input type="text" name="email" id="email" placeholder="Email"/>
- </div>
- <div class="field">
- <input type="password" name="password" id="password" placeholder="Mot de passe"/>
- </div>
- <div class="field">
- <input type="password" name="password_confirm" id="password_confirm"
- placeholder="Confirmer le mot de passe"/>
- </div>
- <ul class="actions">
- <input type="submit" name="nom" value="M'enregistrer">
- </ul>
- </form>
- </section>
- <?php require("inc/footer.php"); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement