Advertisement
Guest User

Untitled

a guest
Apr 18th, 2018
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 10.36 KB | None | 0 0
  1. <?php
  2.     require_once 'includes/game_config.php';
  3.     check_logged(false, false, false, false);
  4.     $title_page = 'Inscription';
  5.     require_once 'includes/head.php';
  6. ?>
  7.  
  8.     <body>
  9.  
  10. <?php
  11.     $username = filter_input(INPUT_POST, 'username');
  12.     $password = filter_input(INPUT_POST, 'password');
  13.     $confirm_password = filter_input(INPUT_POST, 'confirm_password');
  14.     $email = filter_input(INPUT_POST, 'email');
  15.     $submit = filter_input(INPUT_POST, 'submit');
  16.  
  17.     $form_control_feedback = '<span class="glyphicon glyphicon-remove form-control-feedback"></span>';
  18.  
  19.     $username_error = '';
  20.     $username_error_div = '';
  21.     $username_has_error_class = '';
  22.     $form_control_feedback_username = '';
  23.  
  24.     $password_error = '';
  25.     $password_error_div = '';
  26.     $password_has_error_class = '';
  27.     $form_control_feedback_password = '';
  28.  
  29.     $email_error = '';
  30.     $email_error_div = '';
  31.     $email_has_error_class = '';
  32.     $form_control_feedback_email = '';
  33.  
  34.     $empty_input_message = '';
  35.  
  36.     $successfully_registration = false;
  37.  
  38.     // Si un nom d'utilisateur a été saisi
  39.     if(isset($submit)) {
  40.         // Si tous les champs sont remplis
  41.         if($username && $password && $confirm_password && $email) {
  42.  
  43.             // Vérification de la taille de l'username
  44.             if(strlen($username) < 3 || strlen($username) > 30) {
  45.                 $username_error .= 'Votre nom d\'utilisateur doit contenir de 3 à 30 caractères.<br>';
  46.             }
  47.  
  48.             // Vérification si des espaces sont présents
  49.             if(preg_match("/ /", $username)) {
  50.                 $username_error .= 'Votre nom d\'utilisateur ne peut pas contenir d\'espaces.<br>';
  51.             }
  52.  
  53.             // Vérification des caractères de l'username
  54.             if(!preg_match("/^[A-Za-z0-9]+$/", $username)) {
  55.                 $username_error .= 'Votre nom d\'utilisateur ne peut contenir que des caractères alphanumériques (A-Z, a-z, 0-9).<br>';
  56.             }
  57.  
  58.             // Vérification si l'username est interdit
  59.             if(in_array(strtolower($username), $array_username_forbidden)) {
  60.                 $username_error .= 'Ce nom d\'utilisateur n\'est pas disponible.<br>';
  61.             }
  62.  
  63.             // Vérification si l'username est déjà pris
  64.             $req_username = prepare_query("SELECT username FROM user WHERE username = :username", array(':username' => $username), false);
  65.             if($req_username->rowCount() > 0) {
  66.                 $username_error .= 'Ce nom d\'utilisateur n\'est pas disponible.<br>';
  67.             }
  68.  
  69.             // Vérification de la taille du mot de passe
  70.             if(strlen($password) < 4 || strlen($password) > 30) {
  71.                 $password_error .= 'Votre mot de passe doit contenir entre 4 et 30 caractères.<br>';
  72.             }
  73.  
  74.             // Vérification de la confirmation du mot de passe
  75.             if($password != $confirm_password) {
  76.                 $password_error .= 'Les mots de passe saisis sont différents.<br>';
  77.             }
  78.  
  79.             // Vérification de la taille de l'email
  80.             if(strlen($email) < 5 || strlen($email) > 60) {
  81.                 $email_error .= 'Votre email doit contenir entre 5 et 60 caractères.<br>';
  82.             }
  83.  
  84.             // Vérification du format de l'email
  85.             if(!filter_var($email, FILTER_VALIDATE_EMAIL)) {
  86.                 $email_error .= 'Votre email est invalide.<br>';
  87.             }
  88.  
  89.             // Vérification si l'email est déjà pris
  90.             $req_email = prepare_query("SELECT email FROM user WHERE email = :email", array(':email' => $email), false);
  91.             if($req_email->rowCount() > 0) {
  92.                 $email_error .= 'Cet email est déjà utilisé.<br>';
  93.             }
  94.  
  95.             if($username_error == '' && $password_error == '' && $email_error == '' && $empty_input_message == '') {
  96.                 $user_id = 'wk_'.md5(uniqid($username));
  97.  
  98.                 $insert_user_info = prepare_query("INSERT INTO user (user_id, username, password, email, registration_date, registration_ip) VALUES (:user_id, :username, :password, :email, :registration_date, :registration_ip)", array(
  99.                     ':user_id' => $user_id,
  100.                     ':username' => $username,
  101.                     ':password' => hash_string($password),
  102.                     ':email' => $email,
  103.                     ':registration_date' => date('Y-m-d H:i:s'),
  104.                     ':registration_ip' => get_ip()
  105.                 ), false);
  106.  
  107.  
  108.                 //$PK_user = $db->lastInsertId();
  109.  
  110.                 $insert_game_info = prepare_query("INSERT INTO game (FK_user_id) VALUES (:FK_user_id)", array(
  111.                     ':FK_user_id' => $user_id
  112.                 ), false);
  113.  
  114.                 $successfully_registration = true;
  115.             }
  116.         } else {
  117.                 $empty_input_message = '<div class="col-sm-12 text-center margin-bot20 text-danger">Veuillez remplir tous les champs.</div>';
  118.         }
  119.     }
  120.  
  121.     if($username_error != '') {
  122.         $username_has_error_class = ' has-feedback has-error';
  123.         $username_error_div = '<small class="text-danger">'.$username_error.'</small>';
  124.         $form_control_feedback_username = $form_control_feedback;
  125.     }
  126.     if($password_error != '') {
  127.         $password_has_error_class = ' has-feedback has-error';
  128.         $password_error_div = '<small class="text-danger">'.$password_error.'</small>';
  129.         $form_control_feedback_password = $form_control_feedback;
  130.     }
  131.     if($email_error != '') {
  132.         $email_has_error_class = ' has-feedback has-error';
  133.         $email_error_div = '<small class="text-danger">'.$email_error.'</small>';
  134.         $form_control_feedback_email = $form_control_feedback;
  135.     }
  136. ?>
  137.  
  138.         <div class="container">
  139.             <form action="register.php" method="post" id="register-form" class="form-horizontal col-lg-6 col-lg-offset-3 col-md-8 col-md-offset-2 col-sm-10 col-sm-offset-1 col-xs-12 margin-top50 padding-20 border-radius-20">
  140.                 <div class="text-center h2">
  141.                     Inscription
  142.                 </div>
  143.                 <?php
  144.                     if($opened_inscriptions == true) {
  145.                         if($successfully_registration == false) {
  146.                 ?>
  147.                 <div class="col-sm-12 text-center margin-bot20">
  148.                     <small>Votre nom d'utilisateur doit être composé de 3 à 30 caractères alphanumériques.<br>
  149.                     L'adresse email est uniquement utilisée pour la récupération du mot de passe.</small>
  150.                 </div>
  151.                 <?php echo $empty_input_message; ?>
  152.                 <div class="form-group<?php echo $username_has_error_class; ?>">
  153.                     <label for="username" class="control-label col-sm-5">Nom d'utilisateur :</label>
  154.                     <div class="col-sm-7">
  155.                         <input type="text" name="username" id="username" class="form-control" placeholder="Votre nom d'utilisateur" value="<?php echo $username; ?>">
  156.                         <?php echo $form_control_feedback_username; ?>
  157.                         <?php echo $username_error_div; ?>
  158.                     </div>
  159.                 </div>
  160.                 <div class="form-group<?php echo $password_has_error_class; ?>">
  161.                     <label for="password" class="control-label col-sm-5">Mot de passe :</label>
  162.                     <div class="col-sm-7">
  163.                         <input type="password" name="password" id="password" class="form-control" placeholder="Votre mot de passe" value="<?php echo $password; ?>">
  164.                         <?php echo $form_control_feedback_password; ?>
  165.                         <?php echo $password_error_div; ?>
  166.                     </div>
  167.                 </div>
  168.                 <div class="form-group<?php echo $password_has_error_class; ?>">
  169.                     <label for="confirm_password" class="control-label col-sm-5">Mot de passe (répéter) :</label>
  170.                     <div class="col-sm-7">
  171.                         <input type="password" name="confirm_password" id="confirm_password" class="form-control" placeholder="Répétez votre mot de passe" value="<?php echo $confirm_password; ?>">
  172.                         <?php echo $form_control_feedback_password; ?>
  173.                         <?php echo $password_error_div; ?>
  174.                     </div>
  175.                 </div>
  176.                 <div class="form-group margin-bot50<?php echo $email_has_error_class; ?>">
  177.                     <label for="email" class="control-label col-sm-5">Email :</label>
  178.                     <div class="col-sm-7">
  179.                         <input type="text" name="email" id="email" class="form-control" placeholder="Votre adresse email" value="<?php echo $email; ?>">
  180.                         <?php echo $form_control_feedback_email; ?>
  181.                         <?php echo $email_error_div; ?>
  182.                     </div>
  183.                 </div>
  184.                 <div class="col-xs-12">
  185.                     <a class="btn btn-primary btn-lg col-sm-6 col-xs-12 btn-color-text" href="/index.php">Accueil</a>
  186.                     <input type="submit" name="submit" class="btn btn-success btn-lg col-sm-6 col-xs-12 btn-color-text" value="S'inscrire">
  187.                 </div>
  188.                     <?php
  189.                         } else {
  190.                     ?>
  191.                 <div class="col-sm-12 text-center margin-bot20">
  192.                     L'inscription s'est bien déroulée, vous pouvez dès maintenant vous connecter.
  193.                 </div>
  194.                 <div class="col-xs-12 margin-top20">
  195.                     <a class="btn btn-primary btn-lg col-sm-6 col-xs-12 btn-color-text" href="/index.php">Accueil</a>
  196.                     <a class="btn btn-success btn-lg col-sm-6 col-xs-12 btn-color-text" href="/login.php">Se connecter</a>
  197.                 </div>
  198.                     <?php
  199.                         }
  200.                     } else {
  201.                     ?>
  202.                 <div class="col-sm-12 text-center margin-bot20">
  203.                     Les inscriptions sont fermées pour le moment.
  204.                 </div>
  205.                 <div class="col-xs-12 margin-top20">
  206.                     <a class="btn btn-primary btn-lg col-xs-6 col-xs-offset-3 btn-color-text" href="/index.php">Accueil</a>
  207.                 </div>
  208.                     <?php
  209.                     }
  210.                     ?>
  211.             </form>
  212.         </div>
  213.  
  214. <?php
  215.     require_once 'includes/footer.php';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement