Advertisement
Guest User

Untitled

a guest
Jun 15th, 2018
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. <?php
  2. require_once 'inc/functions.php';
  3. if(!empty($_POST)){
  4.  
  5.  
  6. $errors= array();
  7. require_once 'inc/db.php';
  8.  
  9.  
  10. if(empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9]+$/', $_POST['username'])){
  11.  
  12. $errors['username'] = "Votre pseudo n'est pas valide";
  13. } else {
  14. $req = $pdo->prepare('SELECT id FROM users WHERE username = ?');
  15. $req->execute([$_POST['username']]);
  16. $user = $req->fetch();
  17. if($user){
  18. $errors['username'] = "Ce pseudo est déjà prit";
  19. }
  20. }
  21.  
  22. if(empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
  23. $errors['email'] = "Votre email n'est pas valide";
  24. }else {
  25. $req = $pdo->prepare('SELECT id FROM users WHERE email = ?');
  26. $req->execute([$_POST['email']]);
  27. $user = $req->fetch();
  28. if($user){
  29. $errors['email'] = "Cet email est déjà utilisé pour un autre compte";
  30. }
  31.  
  32.  
  33. if(empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']){
  34. $errors['password'] = "Vous devez rentrer un mot de passe valide";
  35. }
  36.  
  37. if(empty($errors)){
  38.  
  39. $req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?, confirmation_token = ?");
  40. $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
  41. $token = str_random(60);
  42. debug($str_random);
  43. $req->execute([$_POST['username'], $password, $_POST['email'], $token]);
  44. $user_id = $pdo->lastInsertId();
  45. mail($_POST['email'], 'Confirmation de votre compte', "Afin de valider votre compte, merci de cliquer sur le lien\n\nhttp://localhost/confirm.php?id=$user_id&token=$token");
  46. header('Location: login.php');
  47. exit();
  48. }
  49.  
  50.  
  51.  
  52.  
  53. debug($errors);
  54. }
  55.  
  56.  
  57. }
  58.  
  59. ?>
  60.  
  61.  
  62.  
  63.  
  64.  
  65. <h1>S'inscrire</h1>
  66.  
  67. <?php require_once "inc/header.php"; ?>
  68.  
  69. <?php if(!empty($errors)): ?>
  70. <div class="alert alert-danger">
  71. <p>Vous n'avez pas rempli le formulaire correctement</p>
  72. <ul>
  73. <?php foreach ($errors as $error): ?>
  74. <li><?= $error; ?></li>
  75. <?php endforeach; ?>
  76. </ul>
  77.  
  78. </div>
  79. <?php endif; ?>
  80.  
  81.  
  82.  
  83.  
  84. <form action="" method="POST">
  85.  
  86.  
  87. <div class="form-group">
  88. <label for="">Pseudo</label>
  89. <input type="text" name="username" class="form-control"/>
  90. </div>
  91.  
  92. <div class="form-group">
  93. <label for="">Email</label>
  94. <input type="text" name="email" class="form-control"/>
  95. </div>
  96.  
  97. <div class="form-group">
  98. <label for="">Mot de passe</label>
  99. <input type="password" name="password" class="form-control"/>
  100. </div>
  101.  
  102. <div class="form-group">
  103. <label for="">Confirmez votre mot de passe</label>
  104. <input type="password" name="password_confirm" class="form-control"/>
  105. </div>
  106.  
  107. <button type="submit" class="btn btn-primary">M'inscrire</button>
  108.  
  109.  
  110. </form>;
  111.  
  112. <?php require "inc/footer.php"; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement