Advertisement
FrTab

inscription.php

May 31st, 2019
746
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 13.22 KB | None | 0 0
  1. <?php
  2. header('Content-Type:text/html; charset=iso-8859-1');
  3.     require 'database.php';
  4.     require 'functionErr.php';
  5.  
  6.     //Ajout de notre session
  7.     session_start();
  8.  
  9.     //variables d'erreurs
  10.     $pseudo = $nom = $prenom = $email = $empreinte = $erreur = "";
  11.  
  12.     //Si les variables ne sont pas vides, on commence le teste
  13.     if(!empty($_POST))
  14.     {
  15.         //Tableau pour l'erreur
  16.         $erreur = array();
  17.        
  18.         $usersType    = checkInput($_POST['type_idType']);
  19.         $pseudo       = checkInput($_POST['pseudo']);
  20.         $nom          = checkInput($_POST['nom']);
  21.         $prenom       = checkInput($_POST['prenom']);
  22.         $email        = checkInput($_POST['email']);
  23.         $empreinte    = checkInput($_POST['mdp']);
  24.         $pwdconfirm   = checkInput($_POST['mdp_conf']);
  25.         $isSuccess    = true;
  26.        
  27.         /*
  28.             On test les variables du formulaires sont vides, si oui on affiche un message d'erreur
  29.         */
  30.        
  31.         if(!empty($usersType))
  32.         {
  33.             $erreur = 'Veuillez remplir ce champ !';
  34.             $isSuccess = false;
  35.         }
  36.        
  37.         //On teste l'expression regulier qui commence de a-z, 0-9 et un _ plusieur fois (on met + à la fin)
  38.         if(empty($pseudo) || !preg_match('/^[a-zA-Z0-9_]+$/', $pseudo) )
  39.         {
  40.             $erreur['pseudo'] = "Votre pseudo n'est pas correct (alphanum&eacute;rique. exemple : toto_12)";
  41.             $isSuccess = false;
  42.         }
  43.         //Si on essaie d'utiliser un même pseudo, ça ne marchera pas
  44.        
  45.        
  46.         //debug($erreur);
  47.        
  48. //       if(!empty($pseudo))
  49. //        {
  50. //            $db=Database::connect();
  51. //            $statement = $db->prepare("SELECT COUNT(*) AS nbr FROM `utilisateur` WHERE pseudo = '$pseudo'");
  52. //            $statement->execute();
  53. //            $rows = $statement->rowCount();
  54. //            
  55. //            if($rows == true)
  56. //            {
  57. //                header("Location: Err.php");
  58. //            }
  59. //            else
  60. //            {
  61. //                header("Location: panier");
  62. //            }
  63.            
  64.             /*
  65.                 On verifie que le mail existe
  66.                 0 : le pseudo n'existe pas
  67.                 1 : le pseudo existe
  68.             */
  69. //            $pseudo_existe = ($statement->fetchColumn()==0)?1:0;
  70. //            $statement->closeCursor();
  71. //            
  72. //            if($pseudo_existe)
  73. //            {
  74. //                header("Location: Err.php");
  75. //            }
  76.            
  77.             //$db = Database::connect();            
  78. //            mysql_connect("localhost", "root", "") or
  79. //    die("Could not connect: " . mysql_error());
  80. //mysql_select_db("webburger");
  81. //            
  82. //            $statement = mysql_query("SELECT `pseudo` FROM `utilisateur` WHERE `pseudo` = '$pseudo'");
  83. //            
  84. //            $verdict = mysql_fetch_array($statement, MYSQL_ASSOC);
  85. //            //On execute
  86. //            //$statement->execute(array($pseudo));
  87. //            
  88. //            //mysql_fetch_assoc($statement
  89. //            
  90. //            if( $pseudo == $verdict ['pseudo'])
  91. //            {
  92. ////                 $erreur['pseudo'] = 'Cet email est d&eacute;j&agrave; pris pour un autre compte !';
  93. //                
  94. //                echo("Ce pseudo existe d&eacute;j&agrave;. Veuillez changez !");
  95. //                exit;
  96. //            }
  97. //            
  98. //            header("Location: inscription.php");
  99.            
  100. //            else
  101. //            {
  102. //                $erreur['email'] = 'Cet email est d&eacute;j&agrave; pris pour un autre compte !';
  103. //                
  104. //            }
  105.            
  106.             //while($user)
  107.            
  108. //            Database::disconnect();
  109.            
  110.             //header("Location: inscription.php");
  111.        
  112. //        }
  113.        
  114.        
  115.        
  116.         if(empty($nom) || !preg_match('/^[a-zA-Z]+$/', $nom))
  117.         {
  118.             $erreur['nom'] = 'Votre nom n\'est pas correct (Ecrivez votre nom correctement sans caractere speciaux, sans chiffre) !';
  119.             //Comme c'est un echec eh bien isSuccess recoit false
  120.             $isSuccess = false;
  121.         }
  122.        
  123.         if(empty($prenom) || !preg_match('/^[a-zA-Z]+$/', $prenom))
  124.         {
  125.             $erreur['prenom'] = 'Votre prenom n\'est pas correct (Ecrivez votre prenom correctement sans caractere speciaux, sans chiffre) !';
  126.             //Comme c'est un echec eh bien isSuccess recoit false
  127.             $isSuccess = false;
  128.         }
  129.        
  130.         if(empty($email) || !filter_var($email, FILTER_VALIDATE_EMAIL))
  131.         {
  132.             $erreur['email'] = 'Votre email n\'est pas correct !';
  133.             //Comme c'est un echec eh bien isSuccess recoit false
  134.             $isSuccess = false;
  135.         }
  136. //        
  137. //        if(!empty($pseudo))
  138. //        {
  139. //            $db = Database::connect();
  140. //            $statement = $db->prepare("SELECT `pseudo` FROM `utilisateur` WHERE `pseudo` = '$pseudo'");
  141. //            
  142. //            //On execute
  143. //            $statement->execute(array($pseudo));
  144. //            Database::disconnect();
  145. //            
  146. //            $user = $statement->fetch();
  147. //            if($user)
  148. //            {
  149. //      
  150. //                 $erreur['email'] = 'Cet email est d&eacute;j&agrave; pris pour un autre compte !';
  151. //                
  152. //                 header("Location: inscription.php");
  153. //            }
  154. ////            else
  155. ////            {
  156. ////                $erreur['email'] = 'Cet email est d&eacute;j&agrave; pris pour un autre compte !';
  157. ////                
  158. ////            }
  159. //            
  160. //            //while($user)
  161. //            
  162. ////            Database::disconnect();
  163. //            
  164. //            //header("Location: inscription.php");
  165. //            
  166. //        }
  167.        
  168.         if(empty($empreinte) || $empreinte != $pwdconfirm)
  169.         {
  170.             $erreur['mdp'] = "Veuillez entrez un mot de passe valide";
  171.             $isSuccess = false;
  172.         }
  173.        
  174.         //Si les champs ne sont pas correcte, on affiche un message d'erreur sinon on ajoute l'utilisateur
  175.         if($isSuccess)
  176.         {
  177.            
  178.             //hash le mot de passe
  179.             $empreinte = password_hash($empreinte, PASSWORD_DEFAULT);
  180.            
  181.             //Connexion
  182.             $db = Database::connect();
  183.            
  184.            
  185.             //On insert
  186.             $statement = $db->prepare("INSERT INTO `utilisateur` (`iduser`, `pseudo`, `nom`, `prenom`, `email`, `password_hash`, `type_idType`) VALUES (NULL, '$pseudo', '$nom', '$prenom', '$email', '$empreinte', 3)");
  187.            
  188.             //die('Erreur de mot de passe' .$empreinte);
  189.              
  190.             //On execute la requete
  191.             $statement->execute(array($pseudo,$nom,$prenom, $email, $empreinte));
  192.            
  193.             //On se deconnecte
  194.             Database::disconnect();
  195.            
  196.             header("Location: login.php");
  197.             exit();
  198.         }
  199.     }
  200.  
  201.  
  202. //Securité des données
  203. function checkInput($data)
  204. {
  205.     $data = trim($data);
  206.     $data = stripslashes($data);
  207.     $data = htmlspecialchars($data);
  208.    
  209.     //On retourne la donnée
  210.     return $data;
  211. }
  212.  
  213. ?>
  214.  
  215. <!DOCTYPE html>
  216. <html>
  217.     <head>
  218.         <title> Burger Project </title>
  219.         <meta charset="utf-8">
  220.         <meta name="viewport" content="width=device-width, initial-scale=1">
  221.         <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
  222.         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
  223.         <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css">
  224.         <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  225.         <link href="https://fonts.googleapis.com/css?family=Holtwood+One+SC" rel="stylesheet" type="text/css">
  226.         <link rel="stylesheet" href="../css/styles.css">
  227.     </head>
  228.    
  229.     <body>
  230.         <h1 class="text-logo"><span class="glyphicon glyphicon-cutlery"></span> Burger <span class="glyphicon glyphicon-cutlery"></span></h1>
  231.        
  232.         <div class="container admin">
  233.             <div class="row">
  234.                 <h1><strong><center>Inscription</center></strong></h1>
  235.                 <br />
  236.                
  237.                 <?php
  238.                     if(!empty($erreur)):
  239.                 ?>
  240.                 <!-- On fait un message d'alerte à l'utilisateur -->
  241.                 <div class="alert alert-danger">
  242.                     <p> Le formulaire n'est pas rempli ou pas correctement rempli ! </p>
  243.                    
  244.                     <ul>
  245.                         <!-- On affiche les erreur-->
  246.                         <?php
  247.                             foreach($erreur as $err):
  248.                         ?>
  249.  
  250.                             <li><?= $err; ?></li>
  251.                         <?php endforeach; ?>
  252.                     </ul>
  253.                 </div>
  254.                
  255.                 <?php endif;?>
  256.                
  257.                 <!-- Formulaire d'inscription -->
  258.                 <form class="form" role="form" action="" method="POST">
  259.                    
  260.                     <!-- On recupère les differents qui peuvent être inscritent -->
  261. <!--
  262.                    
  263.                     <div class="form-group">
  264.                         <select option="2" class="form-control" name="type_inscription" id="type_inscription">
  265.                         <label for="type_inscription">Type</label>
  266.                         </select>
  267.                     </div>
  268. -->
  269.                     <div class="form-group">
  270.                     <label for="users">Vous &ecirc;tes </label>
  271.                             <select class="form-control" id="type_idType" name="type_idType">
  272.                                 <?php
  273.                                     $db = Database::connect();
  274.                                     foreach($db->query('SELECT * FROM type_users where idtype = 3') as $row)
  275.                                     {
  276.                                         echo '<option value="' . $row['id'] . '">' . $row['nom'] . '</option>';
  277.                                        
  278.                                     }
  279.                                     Database::disconnect();
  280.                                 ?>
  281.                             </select>
  282.                         </div>
  283.                    
  284.                     <div class="form-group">
  285.                         <label for="pseudo">Pseudo</label>
  286.                         <input type="text" class="form-control" name="pseudo" id="pseudo" placeholder="Entrez votre pseudo" class="form-control"  >
  287.                     </div>
  288.                    
  289.                     <div class="form-group">
  290.                         <label for="nom">Nom </label>
  291.                         <input type="text" class="form-control" name="nom" id="nom" placeholder="Entrez votre nom"  >
  292.                     </div>
  293.                    
  294.                     <div class="form">
  295.                         <div class="form-group">
  296.                             <label for="prenom">Prenom </label>
  297.                             <input type="text" class="form-control" name="prenom" id="prenom" placeholder="Entrez votre prenom"   >
  298.                         </div>
  299.                     </div>
  300.                    
  301.                     <div class="form">
  302.                         <div class="form-group">
  303.                             <label for="email">Email </label>
  304.                             <input type="text" class="form-control" name="email" id="email" placeholder="jc@gmail.com"  >
  305.                         </div>
  306.                     </div>
  307.                    
  308.                     <div class="form">
  309.                         <div class="form-group">
  310.                             <label for="mdp">Mot de passe </label>
  311.                             <input type="password" class="form-control" name="mdp" id="mdp" placeholder="Entrez un mot de passe s&eacute;curis&eacute"   >
  312.                         </div>
  313.                     </div>
  314.                
  315.                     <div class="form">
  316.                         <div class="form-group">
  317.                             <label for="mdp_conf">Confirmation du mot de passe </label>
  318.                             <input type="password" class="form-control" name="mdp_conf" id="mdp_conf" placeholder="Entrez un mot de passe s&eacute;curis&eacute;"  >
  319.                         </div>
  320.                     </div>
  321.                    
  322.                     <div class="form-actions">
  323.                          
  324.                             <button type="submit" class="btn btn-primary"> S'inscrire </button>
  325.                        
  326.                             <span style="margin-right:10px"></span>
  327.                        
  328.                             <a class="btn btn-default" href="../accueil.php"><span class="glyphicon glyphicon-arrow-left"></span> Retourner &agrave; l'accueil</a>
  329.                     </div>
  330.                     <br />
  331.                     <a href="login.php" style="text-decoration:none">
  332.                         <strong>D&eacute;j&agrave; inscrit ? Connectez-vous !</strong>
  333.                     </a>
  334.                    
  335.                 </form>
  336.             </div>
  337.         </div>
  338.     </body>
  339. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement