Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- if (!empty($_POST)) {
- $errors = array();
- require_once 'includes/config.php';
- require_once 'includes/functions.php';
- if (empty($_POST['username']) || !preg_match('/^[a-zA-Z0-9_-]+$/', $_POST['username'])) {
- $errors['username'] = "Votre pseudo n'est pas valide";
- }
- else {
- $req = $pdo->prepare('SELECT id FROM users WHERE username = ?');
- $req->execute([$_POST['username']]);
- $user = $req->fetch();
- if ($user) {
- $errors['username'] = "Ce pseudo est déjà utilisé";
- }
- }
- if (empty($_POST['email']) || !filter_var($_POST['email'], FILTER_VALIDATE_EMAIL)) {
- $errors['email'] = "Votre email n'est pas valide";
- }
- else {
- $req = $pdo->prepare('SELECT id FROM users WHERE email = ?');
- $req->execute([$_POST['email']]);
- $user = $req->fetch();
- if ($user) {
- $errors['email'] = "Cet adresse email est déjà utilisé";
- }
- }
- if (empty($_POST['password']) || $_POST['password'] != $_POST['password-confirm']) {
- $errors['password'] = "Votre mot de passe n'est pas valide";
- }
- if(empty($errors)){
- // On enregistre les informations dans la base de données
- $req = $pdo->prepare("INSERT INTO users SET username = ?, password = ?, email = ?, confirmation_token = ?");
- // On ne sauvegardera pas le mot de passe en clair dans la base mais plutôt un hash
- $password = password_hash($_POST['password'], PASSWORD_BCRYPT);
- // On génère le token qui servira à la validation du compte
- $token = str_random(60);
- $req->execute([$_POST['username'], $password, $_POST['email'], $token]);
- $user_id = $pdo->lastInsertId();
- // On envoit l'email de confirmation
- mail($_POST['email'], 'Confirmation de votre compte', "Afin de valider votre compte merci de cliquer sur ce lien\n\nhttp://local.dev/Lab/Comptes/confirm.php?id=$user_id&token=$token");
- // On redirige l'utilisateur vers la page de login avec un message flash
- $_SESSION['flash']['success'] = 'Un email de confirmation vous a été envoyé pour valider votre compte';
- header('Location: login.php');
- exit();
- debug(errors);
- }
- ?>
- <!DOCTYPE html>
- <!--[if IE 8]> <html lang="en" class="ie8"> <![endif]-->
- <!--[if IE 9]> <html lang="en" class="ie9"> <![endif]-->
- <!--[if !IE]><!--> <html lang="fr"> <!--<![endif]-->
- <head>
- <title>Inscription | AnkaWorld</title>
- <!-- Meta -->
- <meta charset="utf-8">
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
- <meta name="description" content="">
- <meta name="author" content="">
- <!-- Favicon -->
- <link rel="shortcut icon" href="favicon.ico">
- <!-- Web Fonts -->
- <link rel='stylesheet' type='text/css' href='//fonts.googleapis.com/css?family=Open+Sans:400,300,600&subset=cyrillic,latin'>
- <!-- CSS Global Compulsory -->
- <link rel="stylesheet" href="assets/plugins/bootstrap/css/bootstrap.min.css">
- <link rel="stylesheet" href="assets/css/style.css">
- <!-- CSS Implementing Plugins -->
- <link rel="stylesheet" href="assets/plugins/animate.css">
- <link rel="stylesheet" href="assets/plugins/line-icons/line-icons.css">
- <link rel="stylesheet" href="assets/plugins/font-awesome/css/font-awesome.min.css">
- <!-- CSS Page Style -->
- <link rel="stylesheet" href="assets/css/pages/page_log_reg_v2.css">
- <!-- CSS Theme -->
- <link rel="stylesheet" href="assets/css/theme-colors/default.css" id="style_color">
- <link rel="stylesheet" href="assets/css/theme-skins/dark.css">
- <!-- CSS Customization -->
- <link rel="stylesheet" href="assets/css/custom.css">
- </head>
- <body>
- <!--=== Content Part ===-->
- <div class="container">
- <!--Reg Block-->
- <div class="reg-block">
- <div class="reg-block-header">
- <h2>INSCRIPTION</h2>
- <p>Déjà inscrit ? Rendez-vous sur la page <a class="color-green" href="connexion.php">Connexion</a>.</p>
- </div>
- TEST test
- <form action="" method="post">
- <div class="input-group margin-bottom-20">
- <span class="input-group-addon"><i class="fa fa-user"></i></span>
- <input type="text" class="form-control" placeholder="Pseudo" name="identifiant" id="identifiant" required/>
- </div>
- <div class="input-group margin-bottom-20">
- <span class="input-group-addon"><i class="fa fa-envelope"></i></span>
- <input type="email" class="form-control" placeholder="Email" name="email" id="email" required/>
- </div>
- <div class="input-group margin-bottom-20">
- <span class="input-group-addon"><i class="fa fa-lock"></i></span>
- <input type="password" class="form-control" placeholder="Mot de passe" name="password" id="password" required/>
- </div>
- <div class="input-group margin-bottom-30">
- <span class="input-group-addon"><i class="fa fa-key"></i></span>
- <input type="password" class="form-control" placeholder="Confirmez le mot de passe" name="password-confirm" id="password-confirm" required/>
- </div>
- <div class="row">
- <div class="col-md-10 col-md-offset-1">
- <button type="submit" class="btn-u btn-block">VALIDER</button>
- </div>
- </div>
- </form>
- </div>
- <!--End Reg Block-->
- </div><!--/container-->
- <!--=== End Content Part ===-->
- <!-- JS Global Compulsory -->
- <script type="text/javascript" src="assets/plugins/jquery/jquery.min.js"></script>
- <script type="text/javascript" src="assets/plugins/jquery/jquery-migrate.min.js"></script>
- <script type="text/javascript" src="assets/plugins/bootstrap/js/bootstrap.min.js"></script>
- <!-- JS Implementing Plugins -->
- <script type="text/javascript" src="assets/plugins/back-to-top.js"></script>
- <script type="text/javascript" src="assets/plugins/backstretch/jquery.backstretch.min.js"></script>
- <!-- JS Customization -->
- <script type="text/javascript" src="assets/js/custom.js"></script>
- <!-- JS Page Level -->
- <script type="text/javascript" src="assets/js/app.js"></script>
- <script type="text/javascript">
- jQuery(document).ready(function() {
- App.init();
- });
- </script>
- <script type="text/javascript">
- $.backstretch([
- "assets/img/bg/19.jpg",
- "assets/img/bg/18.jpg",
- ], {
- fade: 1000,
- duration: 10000
- });
- </script>
- <!--[if lt IE 9]>
- <script src="assets/plugins/respond.js"></script>
- <script src="assets/plugins/html5shiv.js"></script>
- <script src="assets/plugins/placeholder-IE-fixes.js"></script>
- <![endif]-->
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement