Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- require_once 'includes/game_config.php';
- check_logged(false, false, false, false);
- $title_page = 'Connexion';
- require_once 'includes/head.php';
- ?>
- <body>
- <?php
- $username = filter_input(INPUT_POST, 'username'); // Le filter_input met à null $username si la variable n'est pas set (!isset)
- $password = filter_input(INPUT_POST, 'password');
- $submit = filter_input(INPUT_POST, 'submit');
- $form_reply = '';
- $login_ok = false;
- if($submit) { // Equivalant à if(isset($submit))
- if($username && $password) {
- $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);
- if($req_user_exist->rowCount() == 1) {
- $row_user_exist = fetch_query($req_user_exist);
- $date_last_login = new DateTime($row_user_exist['last_login']);
- if($row_user_exist['auth_level'] == 'vac') {
- $date_last_login_add_vac_duration = $date_last_login;
- $date_last_login_add_vac_duration->modify($vac_duration); // On ajoute la durée mini du mode vacances.
- 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.
- $login_ok = true;
- } 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.
- $format_date_last_login = $date_last_login;
- $echo_format_date_last_login = $format_date_last_login->format('d/m/Y à H:i:s').'.';
- $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>';
- }
- } elseif($row_user_exist['auth_level'] == 'del') { // Si le joueur avait décider de supprimer son compte.
- $date_last_login_del = $date_last_login;
- $date_last_login_del->modify($del_duration); // On ajoute la durée maximum de conservation.
- 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.
- $login_ok = true;
- } else { // Sinon on lui dit que le compte est supprimé.
- $form_reply .= 'Ce compte a été supprimé.<br>';
- }
- } elseif($row_user_exist['auth_level'] == 'ban') { // Si le joueur est banni
- if($row_user_exist['end_banned_date'] <= date('Y-m-d H:i:s')) {
- $login_ok = true;
- } else {
- $date = date_create($row_user_exist['end_banned_date']);
- $form_reply .= 'Ce compte est banni jusqu\'au '. date_format($date, 'd-m-Y à H:i:s') .'.<br>';
- }
- } else { // Si tout se passe bien lors du login.
- if($row_user_exist['auth_level'] == 'inactif') {
- $login_ok = true;
- } else {
- // Il ne faut pas changer l'auth_level d'un simple user ou d'un admin.
- $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));
- $_SESSION['username'] = $username;
- header('Location: home.php');
- exit;
- }
- }
- if($login_ok == true) {
- $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));
- $_SESSION['username'] = $username;
- header('Location: home.php'); // Et on le redirige vers home.php.
- exit;
- }
- } else { // Si on ne trouve pas de résultat avec le login et le mdp.
- $form_reply = 'Les informations saisies sont incorrectes.<br>';
- }
- } else { // Si les champs ne sont pas tous remplis.
- $form_reply = 'Veuillez remplir tous les champs.<br>';
- }
- }
- ?>
- <div class="container">
- <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">
- <div class="text-center h2 margin-bot20">
- Connexion
- </div>
- <div class="col-sm-12 text-center margin-bot20 text-danger">
- <?php echo $form_reply; ?>
- </div>
- <div class="form-group">
- <label for="username" class="col-sm-5 control-label">Nom d'utilisateur :</label>
- <div class="col-sm-7">
- <input type="text" name="username" id="username" class="form-control" placeholder="Votre nom d'utilisateur" value="<?php echo $username; ?>">
- </div>
- </div>
- <div class="form-group">
- <label for="password" class="control-label col-sm-5">Mot de passe :</label>
- <div class="col-sm-7">
- <input type="password" name="password" id="password" class="form-control" placeholder="Votre mot de passe" value="<?php echo $password; ?>">
- </div>
- </div>
- <div class="text-center margin-top20 margin-bot20">
- <a href="/lost_password.php" class="text-center">Mot de passe oublié ?</a>
- </div>
- <div class="col-xs-12">
- <a class="btn btn-primary btn-lg col-sm-6 col-xs-12 btn-color-text btn-wrap-text" href="/index.php">Accueil</a>
- <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">
- </div>
- </form>
- </div>
- <?php
- require_once 'includes/footer.php';
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement