tonny16

Formulaire Inscription

Apr 26th, 2017
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.91 KB | None | 0 0
  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5.  
  6.     <meta charset="utf-8" />
  7.     <link rel="stylesheet" href="style.css" />
  8.  
  9.     <title>Inscription</title>
  10. </head>
  11.  
  12. <body>
  13.  
  14.     <!-- PHP -->
  15.     <?php
  16.    
  17.     if(isset($_POST['envoyer'])) {
  18.         if(empty($_POST['nom']) OR !preg_match('#[a-zA-Z0-9_]#', $_POST['nom'])) {
  19.                     $errors ['nom']  = "Nom vide ou incorrect";
  20.     }
  21.    
  22.         if(empty($_POST['pseudo']) OR !preg_match('#[a-zA-Z0-9_]#', $_POST['pseudo'])) {
  23.                     $errors ['pseudo']  = "Pseudo vide ou incorrect";
  24.     }
  25.         if (empty($_POST['email']) || !preg_match("#\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b#i", $_POST['email'])) {
  26.                     $errors ['email'] = "Adresse mail vide ou incorrect";      
  27.     }
  28.        try
  29.         {
  30.            $bdd = new PDO('mysql:host=localhost;dbname=test;charset=utf8', 'root', 'root');
  31.         }
  32.         catch (Exception $e)
  33.         {
  34.             die('Erreur : ' . $e->getMessage());
  35.         }
  36.  
  37.         $reponse = $bdd->query('SELECT nom FROM utilisateurs WHERE nom = "' . $_POST['nom'] . '"');
  38.         $utilisateurs = $reponse->fetch();
  39.         $reponse -> closeCursor();
  40.        
  41.         if (strtolower($_POST['nom']) == strtolower($utilisateurs['nom']))
  42.     {
  43.         $errors ['nom'] = "Nom est déjà utilisé" .  $_POST['nom'] . '';
  44.     }
  45.         $reponse = $bdd->query('SELECT pseudo FROM utilisateurs WHERE pseudo = "' . $_POST['pseudo'] . '" ');
  46.         $utilisateurs = $reponse->fetch();
  47.         $reponse -> closeCursor();
  48.  
  49.         if (strtolower($_POST['pseudo']) == strtolower($utilisateurs['pseudo']))
  50.         {
  51.             $errors ['pseudo'] = "Pseudo déjà utilisé " .  $_POST['pseudo'] . '';
  52.         }
  53.        
  54.         $reponse = $bdd->query('SELECT email FROM utilisateurs WHERE email = "' . $_POST['email'] . '" ');
  55.         $utilisateurs = $reponse->fetch();
  56.         $reponse -> closeCursor();
  57.  
  58.         if (strtolower($_POST['email']) == strtolower($utilisateurs['email']))
  59.         {
  60.             $errors ['email'] = "email déjà utilisé " .  $_POST['email'] . '';
  61.         }
  62.        
  63.        
  64.        
  65.     if(empty($errors))
  66.     {
  67.         $password = $_POST['password'];
  68.         $hash = password_hash($password, PASSWORD_DEFAULT);
  69.        
  70.        
  71.         $req = $bdd->prepare('INSERT INTO utilisateurs (nom, pseudo, email, password) VALUES(:nom, :pseudo, :email, :password)');
  72.                             $req->execute(array(
  73.                                 'nom' => $_POST['nom'],
  74.                                 'pseudo' => $_POST['pseudo'],
  75.                                 'email' => $_POST['email'],
  76.                                 'password' =>$hash,
  77.                                 ));
  78.         echo 'Vous êtes inscrit';
  79.        
  80.     }
  81.         else
  82.         {
  83.             foreach($errors as $erreur) {
  84.                  $erreur;
  85.             }
  86.         }
  87.     }
  88.    
  89.     ?>
  90.  
  91.     <?php
  92.    
  93.     if(empty ($errors))
  94.     {
  95.         $nomclass = "alert alert-dismissible alert-info";
  96.         $message = "Pas d'erreur";
  97.     }
  98.     else
  99.     {
  100.         $nomclass = "alert alert-dismissible alert-danger";
  101.         $message = $erreur;
  102.     }
  103.    
  104.    
  105.     ?>
  106.     <!-- Fin -->
  107.     <h1>Inscription</h1>
  108.  
  109.     <form method="post" class="form-horizontal">
  110.         <fieldset>
  111.  
  112.             <div class="form-group">
  113.                 <label class="col-lg-2 control-label">Nom</label>
  114.                 <div class="col-lg-10">
  115.                     <input type="text" class="form-control" placeholder="Nom" name="nom" value="<?php if(isset($_POST['nom'])) { echo $_POST['nom']; } ?>">
  116.                 </div>
  117.             </div>
  118.             <div class="form-group">
  119.                 <label class="col-lg-2 control-label">Pseudo</label>
  120.                 <div class="col-lg-10">
  121.                     <input type="text" class="form-control" placeholder="Pseudo" name="pseudo" value="<?php if(isset($_POST['pseudo'])) { echo $_POST['pseudo'];} ?>">
  122.                 </div>
  123.             </div>
  124.  
  125.             <div class="form-group">
  126.                 <label for="inputEmail" class="col-lg-2 control-label">Email</label>
  127.                 <div class="col-lg-10">
  128.                     <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'];} ?>">
  129.                 </div>
  130.             </div>
  131.  
  132.             <div class="form-group">
  133.                 <label for="inputPassword" class="col-lg-2 control-label">Mot de passe</label>
  134.                 <div class="col-lg-10">
  135.                     <input type="password" class="form-control" id="inputPassword" name="password" placeholder="Mot de passe" data-cip-id="inputPassword">
  136.                 </div>
  137.             </div>
  138.  
  139.  
  140.             <div class="form-group">
  141.                 <div class="col-lg-10 col-lg-offset-2">
  142.                     <button type="submit" class="btn btn-primary" name="envoyer">Envoyer</button>
  143.                 </div>
  144.             </div>
  145.  
  146.         </fieldset>
  147.     </form>
  148.  
  149.     <div class="<?php echo $nomclass ?>">
  150.         <?php echo $message ?> </div>
  151.  
  152. </body>
  153.  
  154. </html>
Add Comment
Please, Sign In to add comment