Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once 'inc/fonctions.php';
- session_start();
- if(!empty($_POST)){
- $errors = array();
- require_once 'inc/db.php';
- if(empty($_POST['username']) || !preg_match('/^[a-zA-Z8-9_]+$/', $_POST['username'])){
- $errors['username'] = "Votre pseudo n'est pas valide (Alphanumérique)";
- } else {
- $req = $bdd->prepare('SELECT id FROM xa_users WHERE username = ?');
- $req->execute([$_POST['username']]);
- $user = $req->fetch();
- if($user){
- $errors['username'] = 'Ce pseudo est déjà pris';
- }
- }
- if(empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)){
- $errors['email'] = "Votre email n'est pas valide";
- } else {
- $req = $bdd->prepare('SELECT id FROM xa_users WHERE email = ?');
- $req->execute([$_POST['username']]);
- $user = $req->fetch();
- if($user){
- $errors['email'] = 'Cet email est déjà utilisé pour un autre compte';
- }
- }
- if(empty($_POST['steamid']) || !preg_match('/^STEAM_[0-9]:[0-9]:[0-9]+$/', $_POST['steamid'])){
- $errors['steamid'] = "Votre SteamID n'est pas valide";
- } else {
- $req = $bdd->prepare('SELECT steamid FROM xa_users WHERE steamid = ? LIMIT 0,1');
- $req->execute([$_POST['steamid']]);
- $user = $req->fetch();
- if($user){
- $errors['steamid'] = 'Ce SteamID est déjà utilisé';
- }
- }
- if(empty($_POST['password']) || $_POST['password'] != $_POST['password_confirm']){
- $errors['password'] = "Vous devez rentrer un mot de passe valide";
- }
- if(empty($errors)){
- $req = $bdd->prepare("INSERT INTO xa_users SET username = ?, password = ?, email = ?, steamid = ?, comfirmation_token = ?");
- $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
- $token = str_rendom(60);
- $req->execute([$_POST['username'], $password, $_POST['email'], $_POST['steamid'], $token]);
- $user_id = $bdd->lastInsertId();
- 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 <");
- $_SESSION['flash']['success'] = 'Un email de confirmation vous a été envoyé pour valider votre compte';
- header('Location: login.php');
- exit();
- }
- }
- ?>
- <?php require 'inc/header.php'; ?>
- <h1>S'inscrire</h1>
- <?php if(!empty($errors)): ?>
- <div class="alert alert-danger">
- <p>Vous n'avez pas rempli le formulaire correctement</p>
- <ul>
- <?php foreach($errors as $error): ?>
- <li><?= $error; ?></li>
- <?php endforeach; ?>
- </ul>
- </div>
- <?php endif; ?>
- <form action="" method="POST">
- <div class="form-group">
- <label for="">Pseudo</label>
- <input type="text" name="username" placeholder="Pseudo" class="form-control"/>
- </div>
- <div class="form-group">
- <label for="">Email</label>
- <input type="text" name="email" placeholder="Exemple@exemple.fr" class="form-control"/>
- </div>
- <div class="form-group">
- <label for="">STEAM_ID</label>
- <input type="text" name="steamid" placeholder="STEAM_0:0:91814764" class="form-control"/>
- </div>
- <div class="form-group">
- <label for="">Mot de passe</label>
- <input type="password" name="password" placeholder="Mot de passe" class="form-control"/>
- </div>
- <div class="form-group">
- <label for="">Confirmez votre mot de passe</label>
- <input type="password" name="password_confirm" placeholder="Confirmez votre mot de passe" class="form-control"/>
- </div>
- <button type="submit" class="btn btn-primary">M'inscrire</button>
- </form>
- <?php require 'inc/footer.php'; ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement