Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <!DOCTYPE html>
- <html>
- <head>
- <meta charset="utf-8" />
- <link rel="stylesheet" href="style.css" />
- <title>Inscription</title>
- </head>
- <body>
- <!-- PHP -->
- <?php
- if(isset($_POST['envoyer'])) {
- if(empty($_POST['nom']) OR !preg_match('#[a-zA-Z0-9_]#', $_POST['nom'])) {
- $errors ['nom'] = "Nom vide ou incorrect";
- }
- if(empty($_POST['pseudo']) OR !preg_match('#[a-zA-Z0-9_]#', $_POST['pseudo'])) {
- $errors ['pseudo'] = "Pseudo vide ou incorrect";
- }
- if (empty($_POST['email']) || !preg_match("#\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b#i", $_POST['email'])) {
- $errors ['email'] = "Adresse mail vide ou incorrect";
- }
- try
- {
- $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'root');
- }
- catch (Exception $e)
- {
- die('Erreur : ' . $e->getMessage());
- }
- $reponse = $bdd->query('SELECT nom FROM utilisateurs WHERE nom = "' . $_POST['nom'] . '"');
- $utilisateurs = $reponse->fetch();
- $reponse -> closeCursor();
- if (strtolower($_POST['nom']) == strtolower($utilisateurs['nom']))
- {
- $errors ['nom'] = "Nom est déjà utilisé" . $_POST['nom'] . '';
- }
- $reponse = $bdd->query('SELECT pseudo FROM utilisateurs WHERE pseudo = "' . $_POST['pseudo'] . '" ');
- $utilisateurs = $reponse->fetch();
- $reponse -> closeCursor();
- if (strtolower($_POST['pseudo']) == strtolower($utilisateurs['pseudo']))
- {
- $errors ['pseudo'] = "Pseudo déjà utilisé " . $_POST['pseudo'] . '';
- }
- $reponse = $bdd->query('SELECT email FROM utilisateurs WHERE email = "' . $_POST['email'] . '" ');
- $utilisateurs = $reponse->fetch();
- $reponse -> closeCursor();
- if (strtolower($_POST['email']) == strtolower($utilisateurs['email']))
- {
- $errors ['email'] = "email déjà utilisé " . $_POST['email'] . '';
- }
- if(empty($errors))
- {
- $password = $_POST['password'];
- $hash = password_hash($password, PASSWORD_DEFAULT);
- $req = $bdd->prepare('INSERT INTO utilisateurs (nom, pseudo, email, password) VALUES(:nom, :pseudo, :email, :password)');
- $req->execute(array(
- 'nom' => $_POST['nom'],
- 'pseudo' => $_POST['pseudo'],
- 'email' => $_POST['email'],
- 'password' =>$hash,
- ));
- echo 'Vous êtes inscrit';
- }
- else
- {
- foreach($errors as $erreur) {
- $erreur;
- }
- }
- }
- ?>
- <?php
- if(empty ($errors))
- {
- $nomclass = "alert alert-dismissible alert-info";
- $message = "Pas d'erreur";
- }
- else
- {
- $nomclass = "alert alert-dismissible alert-danger";
- $message = $erreur;
- }
- ?>
- <!-- Fin -->
- <h1>Inscription</h1>
- <form method="post" class="form-horizontal">
- <fieldset>
- <div class="form-group">
- <label class="col-lg-2 control-label">Nom</label>
- <div class="col-lg-10">
- <input type="text" class="form-control" placeholder="Nom" name="nom" value="<?php if(isset($_POST['nom'])) { echo $_POST['nom']; } ?>">
- </div>
- </div>
- <div class="form-group">
- <label class="col-lg-2 control-label">Pseudo</label>
- <div class="col-lg-10">
- <input type="text" class="form-control" placeholder="Pseudo" name="pseudo" value="<?php if(isset($_POST['pseudo'])) { echo $_POST['pseudo'];} ?>">
- </div>
- </div>
- <div class="form-group">
- <label for="inputEmail" class="col-lg-2 control-label">Email</label>
- <div class="col-lg-10">
- <input type="email" class="form-control" id="inputEmail" placeholder="Email" data-cip-id="inputEmail" name="email" value="<?php if(isset($_POST['email'])) { echo $_POST['email'];} ?>">
- </div>
- </div>
- <div class="form-group">
- <label for="inputPassword" class="col-lg-2 control-label">Mot de passe</label>
- <div class="col-lg-10">
- <input type="password" class="form-control" id="inputPassword" name="password" placeholder="Mot de passe" data-cip-id="inputPassword">
- </div>
- </div>
- <div class="form-group">
- <div class="col-lg-10 col-lg-offset-2">
- <button type="submit" class="btn btn-primary" name="envoyer">Envoyer</button>
- </div>
- </div>
- </fieldset>
- </form>
- <div class="<?php echo $nomclass ?>">
- <?php echo $message ?> </div>
- </body>
- </html>
Add Comment
Please, Sign In to add comment