Advertisement
Guest User

Untitled

a guest
Jul 10th, 2017
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.83 KB | None | 0 0
  1. <?php require("inc/header.php"); ?>
  2. <?php
  3. require_once("inc/functions.php");
  4. $errors = array();
  5. require_once("inc/db.php");
  6.  
  7. if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
  8.     $errors['username'] = "Vous n'avez pas rentrer de pseudo valide (alphanumérique).";
  9. } else {
  10.     $req = $db->prepare("SELECT id FROM users WHERE username = ?");
  11.     $req->execute([$_POST['username']]);
  12.     $user = $req->fetch();
  13.     if ($user) {
  14.         $error['username'] = "Ce pseudo est déjà utilisé.";
  15.     }
  16. }
  17.  
  18. if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
  19.     $errors['email'] = "Votre email n'est pas valide.";
  20. } else {
  21.     $req = $db->prepare("SELECT id FROM users WHERE email = ?");
  22.     $req->execute([$_POST['email']]);
  23.     $user = $req->fetch();
  24.     if ($user) {
  25.         $error['email'] = "Cette email est déjà utilisé.";
  26.     }
  27. }
  28.  
  29. if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
  30.     $errors['password'] = "Vous devez rentrer un mot de passe valide.";
  31. }
  32.  
  33. if (empty($error)) {
  34.     $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
  35.     $req = $db->prepare("INSERT INTO users VALUE (NULL, ?, ?, ?, NULL)");
  36.     $token = str_random(60);
  37.     $req->execute($_POST['username'], $_POST['email'], $password, $token);
  38.     $user_id = $db->lastInsertId();
  39.     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");
  40.     header('location: login.php');
  41.     exit();
  42. }
  43.  
  44. ?>
  45.     <!-- Main -->
  46.     <section id="main">
  47.     <header>
  48.         <span class="avatar"><img src="images/avatar.jpg" alt=""/></span>
  49.         <h1>S'enregistrer</h1>
  50.     </header>
  51.     <?php if(!empty($errors)): ?>
  52.     <p>Vous n'avez pas rempli le formulaire correctement</p>
  53.     <ul>
  54.         <?php foreach ($errors as $error): ?>
  55.             <li><?= $error; ?></li>
  56.         <?php endforeach; ?>
  57.     </ul>
  58.     <?php endif; ?>
  59.     <form method="post" action="">
  60.         <div class="field">
  61.             <input type="text" name="username" id="username" placeholder="Identifiant"/>
  62.         </div>
  63.         <div class="field">
  64.             <input type="text" name="email" id="email" placeholder="Email"/>
  65.         </div>
  66.         <div class="field">
  67.             <input type="password" name="password" id="password" placeholder="Mot de passe"/>
  68.         </div>
  69.         <div class="field">
  70.             <input type="password" name="password_confirm" id="password_confirm"
  71.                    placeholder="Confirmer le mot de passe"/>
  72.         </div>
  73.         <ul class="actions">
  74.             <input type="submit" name="nom" value="M'enregistrer">
  75.         </ul>
  76.  
  77.     </form>
  78.     </section>
  79.     <?php require("inc/footer.php"); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement