Advertisement
Guest User

Untitled

a guest
Apr 18th, 2018
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 6.70 KB | None | 0 0
  1. <?php
  2.     require_once 'includes/game_config.php';
  3.     check_logged(false, false, false, false);
  4.     $title_page = 'Connexion';
  5.     require_once 'includes/head.php';
  6. ?>
  7.  
  8.     <body>
  9.  
  10. <?php
  11.     $username = filter_input(INPUT_POST, 'username'); // Le filter_input met à null $username si la variable n'est pas set (!isset)
  12.     $password = filter_input(INPUT_POST, 'password');
  13.     $submit = filter_input(INPUT_POST, 'submit');
  14.  
  15.     $form_reply = '';
  16.     $login_ok = false;
  17.  
  18.     if($submit) { // Equivalant à if(isset($submit))
  19.         if($username && $password) {
  20.             $req_user_exist = prepare_query("SELECT PK_user, auth_level, last_login, end_banned_date FROM user WHERE username = :username AND password = :password", array(':username' => $username, ':password' => hash_string($password)), false);
  21.  
  22.             if($req_user_exist->rowCount() == 1) {
  23.                 $row_user_exist = fetch_query($req_user_exist);
  24.                 $date_last_login = new DateTime($row_user_exist['last_login']);
  25.  
  26.                 if($row_user_exist['auth_level'] == 'vac') {
  27.                     $date_last_login_add_vac_duration = $date_last_login;
  28.                     $date_last_login_add_vac_duration->modify($vac_duration); // On ajoute la durée mini du mode vacances.
  29.                     if($date_last_login_add_vac_duration->format('Y-m-d H:i:s') < date('Y-m-d H:i:s')) { // Si il est en vac, on vérifie qu'il ne se reco avant la durée minimum.
  30.                         $login_ok = true;
  31.                     } else { // Si il se reco avant la durée minimum, on lui dit qu'il doit attendre et on lui rappelle quand il s'est mit en vac.
  32.                         $format_date_last_login = $date_last_login;
  33.                         $echo_format_date_last_login = $format_date_last_login->format('d/m/Y à H:i:s').'.';
  34.                         $form_reply .= 'Vous devez attendre au moins '.$trad_vac_duration.' après être passé en mode vacances pour vous identifier.<br> Vous pourrez vous reconnecter à partir du <span id="bold">'.$echo_format_date_last_login.'</span><br>';
  35.                     }
  36.                 } elseif($row_user_exist['auth_level'] == 'del') { // Si le joueur avait décider de supprimer son compte.
  37.                     $date_last_login_del = $date_last_login;
  38.                     $date_last_login_del->modify($del_duration); // On ajoute la durée maximum de conservation.
  39.                     if($date_last_login_del->format('Y-m-d H:i:s') > date('Y-m-d H:i:s')) { // On vérifie que son compte ne dépasse pas la durée avant la suppression définitive.
  40.                         $login_ok = true;
  41.                     } else { // Sinon on lui dit que le compte est supprimé.
  42.                         $form_reply .= 'Ce compte a été supprimé.<br>';
  43.                     }
  44.                 } elseif($row_user_exist['auth_level'] == 'ban') { // Si le joueur est banni
  45.                     if($row_user_exist['end_banned_date'] <= date('Y-m-d H:i:s')) {
  46.                         $login_ok = true;
  47.                     } else {
  48.                         $date = date_create($row_user_exist['end_banned_date']);
  49.                         $form_reply .= 'Ce compte est banni jusqu\'au '. date_format($date, 'd-m-Y à H:i:s') .'.<br>';
  50.                     }
  51.                 } else { // Si tout se passe bien lors du login.
  52.                     if($row_user_exist['auth_level'] == 'inactif') {
  53.                         $login_ok = true;
  54.                     } else {
  55.                         // Il ne faut pas changer l'auth_level d'un simple user ou d'un admin.
  56.                         $change_auth_level = update_query("UPDATE user SET last_login = :last_login, last_ip = :last_ip WHERE username = :username", array(':last_login' => date('Y-m-d H:i:s'), ':last_ip' => get_ip(), ':username' => $username));
  57.                         $_SESSION['username'] = $username;
  58.                         header('Location: home.php');
  59.                         exit;
  60.                     }
  61.                 }
  62.  
  63.                 if($login_ok == true) {
  64.                     $change_auth_level = update_query("UPDATE user SET auth_level = :auth_level, last_login = :last_login, last_ip = :last_ip WHERE username = :username", array(':auth_level' => 'user', ':last_login' => date('Y-m-d H:i:s'), ':last_ip' => get_ip(), ':username' => $username));
  65.                     $_SESSION['username'] = $username;
  66.                     header('Location: home.php'); // Et on le redirige vers home.php.
  67.                     exit;
  68.                 }
  69.             } else { // Si on ne trouve pas de résultat avec le login et le mdp.
  70.                 $form_reply = 'Les informations saisies sont incorrectes.<br>';
  71.             }
  72.         } else { // Si les champs ne sont pas tous remplis.
  73.             $form_reply = 'Veuillez remplir tous les champs.<br>';
  74.         }
  75.     }
  76. ?>
  77.  
  78.         <div class="container">
  79.             <form action="login.php" method="post" id="login-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">
  80.                 <div class="text-center h2 margin-bot20">
  81.                     Connexion
  82.                 </div>
  83.                 <div class="col-sm-12 text-center margin-bot20 text-danger">
  84.                     <?php echo $form_reply; ?>
  85.                 </div>
  86.                 <div class="form-group">
  87.                     <label for="username" class="col-sm-5 control-label">Nom d'utilisateur :</label>
  88.                     <div class="col-sm-7">
  89.                         <input type="text" name="username" id="username" class="form-control" placeholder="Votre nom d'utilisateur" value="<?php echo $username; ?>">
  90.                     </div>
  91.                 </div>
  92.                 <div class="form-group">
  93.                     <label for="password" class="control-label col-sm-5">Mot de passe :</label>
  94.                     <div class="col-sm-7">
  95.                         <input type="password" name="password" id="password" class="form-control" placeholder="Votre mot de passe" value="<?php echo $password; ?>">
  96.                     </div>
  97.                 </div>
  98.                 <div class="text-center margin-top20 margin-bot20">
  99.                     <a href="/lost_password.php" class="text-center">Mot de passe oublié ?</a>
  100.                 </div>
  101.                 <div class="col-xs-12">
  102.                     <a class="btn btn-primary btn-lg col-sm-6 col-xs-12 btn-color-text btn-wrap-text" href="/index.php">Accueil</a>
  103.                     <input type="submit" name="submit" class="btn btn-success btn-lg col-sm-6 col-xs-12 btn-color-text btn-wrap-text" value="Se connecter">
  104.                 </div>
  105.             </form>
  106.         </div>
  107.  
  108. <?php
  109.     require_once 'includes/footer.php';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement