Advertisement
Guest User

Untitled

a guest
Aug 26th, 2017
454
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.78 KB | None | 0 0
  1. <?php require 'inc/header.php'; ?>
  2.  
  3.  
  4.  
  5. <?php
  6. if (!empty($_POST)) {
  7.  
  8. $errors = array();
  9. require_once 'inc/dp.php';
  10.  
  11. if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
  12. $errors['username'] = "Votre pseudo n'est pas valide (alphanumérique) !";
  13. } else {
  14. $req = $pdo->prepare('SELECT id FROM users WHERE username = ?');
  15. $req->execute([$_POST['username']]);
  16. $user = $req->fetch();
  17.  
  18. if($user){
  19. $errors = "Ce pseudo est déjà pris 😞";
  20. }
  21. }
  22.  
  23. if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
  24. $errors['email'] = "Votre email n'est pas valide (test@example.com) !";
  25. } else {
  26. $req = $pdo->prepare('SELECT id FROM users WHERE email = ?');
  27. $req->execute([$_POST['email']]);
  28. $user = $req->fetch();
  29.  
  30. if ($user) {
  31. $errors = "Cette e-mail est déjà utilisée pour un autre compte";
  32. }
  33. }
  34.  
  35. if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
  36. $errors['password'] = "Vous devez entrer un mot de passe valide (identique)";
  37. }
  38.  
  39. if (empty($errors)) {
  40.  
  41.  
  42. $req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?");
  43. $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
  44. $req->execute([$_POST['username'], $password, $_POST['email']]);
  45. }
  46.  
  47. }
  48. ?>
  49.  
  50. <h1>S'inscire</h1>
  51.  
  52. <?php if(!empty($errors)): ?>
  53. <div class="alert alert-danger">
  54. <p>Vous n'avez pas remplis correctement le formulaire</p>
  55.  
  56. <ul>
  57. <?php foreach($errors as $error): ?>
  58. <li><?= $error; ?></li>
  59. <?php endforeach;?>
  60. </ul>
  61.  
  62. </div>
  63. <?php endif; ?>
  64.  
  65. <form action="#" method="POST">
  66. <div class="form-group">
  67. <label for="">Pseudo</label>
  68. <input type="text" name="username" class="form-control"/>
  69. </div>
  70.  
  71. <div class="form-group">
  72. <label for="">Email</label>
  73. <input type="text" name="email" class="form-control"/>
  74. </div>
  75.  
  76. <div class="form-group">
  77. <label for="">Mot de passe</label>
  78. <input type="password" name="password" class="form-control"/>
  79. </div>
  80.  
  81. <div class="form-group">
  82. <label for="">Confirmez votre mot de passe</label>
  83. <input type="password" name="password_confirm" class="form-control"/>
  84. </div>
  85.  
  86. <button type="submit" class="btn btn-primary">Envoyer</button>
  87. </form>
  88.  
  89. <?php require 'inc/footer.php'; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement