Advertisement
Guest User

Untitled

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