Advertisement
Guest User

Untitled

a guest
Jul 25th, 2017
99
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.07 KB | None | 0 0
  1. <?php
  2. require_once("inc/functions.php");
  3. session_start();
  4.  
  5.     $errors = array();
  6.     require_once("inc/db.php");
  7.  
  8.     if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_]+$/', $_POST['username'])) {
  9.         $errors['username'] = "Vous n'avez pas rentrer de pseudo valide (alphanumérique).";
  10.     } else {
  11.         $req = $db->prepare("SELECT id FROM users WHERE username = ?");
  12.         $req->execute([$_POST['username']]);
  13.         $user = $req->fetch();
  14.         if ($user) {
  15.             $errors['username'] = "Ce pseudo est déjà utilisé.";
  16.         }
  17.     }
  18.  
  19.     if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
  20.         $errors['email'] = "Votre email n'est pas valide.";
  21.     } else {
  22.         $req = $db->prepare("SELECT id FROM users WHERE email = ?");
  23.         $req->execute([$_POST['email']]);
  24.         $user = $req->fetch();
  25.         if ($user) {
  26.             $errors['email'] = "Cette email est déjà utilisé.";
  27.         }
  28.     }
  29.  
  30.     if (empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']) {
  31.         $errors['password'] = "Vous devez rentrer un mot de passe valide.";
  32.     }
  33.  
  34.     if (empty($errors)) {
  35.         $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
  36.         $req = $db->prepare("INSERT INTO users VALUE (NULL, ?, ?, ?, ?, NULL)");
  37.         $token = str_random(60);
  38.         $req->execute(array($_POST['username'], $_POST['email'], $password, $token));
  39.         $user_id = $db->lastInsertId();
  40.         mail($_POST['email'], 'Confirmation de votre compte', "Afin de valider votre compte, merci de cliquer sur le lien suivant : \n\nhttp://78.201.41.84:8080/LydanstaCorp/45/confirm.php?id=$user_id&token=$token");
  41.         $_SESSION["flash"]["succes"] = "Un email pour confirmer votre compte vous a été envoyer por valider votre compte";
  42.         header('Location: login.php');
  43.         exit();
  44.     }
  45. ?>
  46. <?php require("inc/header.php"); ?>
  47.     <div class="page-header">
  48.         <div class="row">
  49.             <div class="col-lg-12">
  50.                 <h1>S'inscrire</h1>
  51.             </div>
  52.         </div>
  53.     </div>
  54.     <div class="col-lg-12">
  55.         <?php if (!empty($errors)): ?>
  56.             <div class="col-lg-1"></div>
  57.             <div class="col-lg-10 alert alert-warning">
  58.             <p>Vous n'avez pas rempli le formulaire correctement</p>
  59.             <ul>
  60.                 <?php foreach ($errors as $error): ?>
  61.                     <li><?= $error; ?></li>
  62.                 <?php endforeach; ?>
  63.             </ul>
  64.             </div>
  65.             <div class="col-lg-1"></div>
  66.         <?php endif; ?>
  67.         <form class="form-horizontal">
  68.             <form method="POST" action="">
  69.                 <div class="form-group">
  70.                     <div class="col-lg-12">
  71.                         <input class="form-control" type="text" name="username" id="username"
  72.                                placeholder="Identifiant"/>
  73.                     </div>
  74.                 </div>
  75.                 <div class="form-group">
  76.                     <div class="col-lg-12">
  77.                         <input class="form-control" type="text" name="email" id="email" placeholder="Email"/>
  78.                     </div>
  79.                 </div>
  80.                 <div class="form-group">
  81.                     <div class="col-lg-12">
  82.                         <input class="form-control" type="password" name="password" id="password"
  83.                                placeholder="Mot de passe"/>
  84.                     </div>
  85.                 </div>
  86.                 <div class="form-group">
  87.                     <div class="col-lg-12">
  88.                         <input class="form-control" type="password" name="password_confirm" id="password_confirm"
  89.                                placeholder="Confirmer le mot de passe"/>
  90.                     </div>
  91.                 </div>
  92.                 <ul class="actions">
  93.                     <input class="btn btn-success submit" type="submit" name="nom" value="M'enregistrer">
  94.                 </ul>
  95.             </form>
  96.         </form>
  97.     </div>
  98. <?php require("inc/footer.php"); ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement