Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- //server - databse connection
- $dbhost = 'localhost';
- $dbuser = 'matematikaspsul';
- $dbpass = 'MatematikaPetrom1';
- $dbname = 'matematikaspsul';
- //localhost
- //$dbhost = 'localhost';
- //$dbuser = 'root';
- //$dbpass = '';
- //$dbname = 'matematikaspsul';
- $mysqli = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("Database Error");
- ?>
- ##########################################################################################
- Login.php
- <html>
- <head>
- <meta charset="UTF-8">
- <meta http-equiv="X-UA-Compatible" content="IE=edge">
- <meta name="viewport" content="width=device-width, initial-scale=1">
- <meta name="description" content="Matematický web SPSUL středisko Stříbrníky.">
- <meta name="author" content="Václav Sýkora">
- <title>Login - Web Matematika</title>
- <link href="css/bootstrap.min.css" rel="stylesheet">
- <link href="css/styly.css" rel="stylesheet">
- </head>
- <body>
- <?php
- include_once('configdb.php');
- session_start();
- // Díky tomuto se nedostanu ani na stránku login.php protože je nastavená session email.
- if (isset($_SESSION['email'])) {
- if ($_SESSION['timeout'] + 10 * 60 < time()) {
- session_destroy();
- header("Location: login.php");
- } else {
- echo '<script language="javascript" type="text/javascript">alert("Byl jsi automaticky odhlášen, klikni pro znovupřihlášení.");document.location.href="login.php"</script>';
- }
- session_destroy();
- header("Location: login.php");
- } else {
- // Tady se na stránku login dostanu, třeba když jsem na ní už byl a vypršelo mi přihlášení, nebo jsem měl otevřená dvě okna s loginem a na jednom jsem se přihlásil.
- if (isset($_POST['loginButton'])) {
- // Pokud je nastavená session email, třeba z druhého okna prohlížeče.
- if (isset($_SESSION['email'])) {
- require './timeout.php';
- // Za trest budu odhlášen, protože tahle situace nastane pouze pokud bude někdo chtít škodit.
- session_destroy();
- header("Location: login.php");
- } else {
- // Když není nastaveno nic, vše je v cajku.
- $email = filter_input(INPUT_POST, "email", FILTER_SANITIZE_EMAIL);
- $heslo = hash('sha512', filter_input(INPUT_POST, "heslo", FILTER_UNSAFE_RAW));
- //Všichni uživatelé
- $result = mysqli_query($mysqli, "SELECT * FROM users WHERE email='$email' AND heslo='$heslo'")or die(mysqli_error());
- $num_row = mysqli_num_rows($result);
- $row = mysqli_fetch_array($result);
- //Aktivní uživatelé
- $result_aktiv = mysqli_query($mysqli, "SELECT * FROM users WHERE email='$email' AND heslo='$heslo' AND aktivni='1'")or die(mysqli_error());
- $num_row_aktiv = mysqli_num_rows($result_aktiv);
- $row_aktiv = mysqli_fetch_array($result_aktiv);
- //Admin
- $result_admin = mysqli_query($mysqli, "SELECT * FROM users WHERE email='$email' AND heslo='$heslo' AND typ='admin'")or die(mysqli_error());
- $num_row_admin = mysqli_num_rows($result_admin);
- $row_admin = mysqli_fetch_array($result_admin);
- if ($num_row == 1) {
- //Pokud se shoduje heslo a jmeno - jedno jeslti je aktivni
- $nick = $row['email'];
- mysqli_query($mysqli, "UPDATE users SET online=1 WHERE email='$nick'")or die(mysqli_error());
- if ($num_row_admin == 1) {
- //Pokud je to admin
- $_SESSION['email'] = $row['email'];
- $_SESSION['admin'] = $row_admin['typ'];
- $_SESSION['user'] = $row['jmeno'];
- $_SESSION['timeout'] = time();
- header("Location: member.php");
- exit;
- } else {
- //Pokud to není admin
- if ($num_row_aktiv == 1) {
- //AKTIVNÍ uživatel
- $_SESSION['email'] = $row['email'];
- $_SESSION['user'] = $row['jmeno'];
- unset($_SESSION['admin']);
- $_SESSION['timeout'] = time();
- header("Location: member.php");
- exit;
- } else {
- //NEAKTIVNÍ uživatel
- echo '<script language="javascript" type="text/javascript">alert("Váš účet není aktivní, požátejte admina o aktivaci.");document.location.href="login.php"</script>';
- }
- }
- } else {
- //Pokud se neshoduje heslo, nebo email
- echo '<script language="javascript" type="text/javascript">alert("Špané heslo a/nebo email.");document.location.href="login.php"</script>';
- }
- }
- }
- }
- function getUserIP() {
- $client = @$_SERVER['HTTP_CLIENT_IP'];
- $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
- $remote = $_SERVER['REMOTE_ADDR'];
- if (filter_var($client, FILTER_VALIDATE_IP)) {
- $ip = $client;
- } elseif (filter_var($forward, FILTER_VALIDATE_IP)) {
- $ip = $forward;
- } else {
- $ip = $remote;
- }
- return $ip;
- }
- ?>
- <div class="container">
- <div id="loginbox" style="margin-top:50px;" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2">
- <div class="panel panel-info" >
- <div class="panel-heading">
- <!-- <div class="panel-title">Špatné heslo, nebo email</div>-->
- <div class="panel-title">Příhlášení</div>
- <!--<div style="float:right; font-size: 80%; position: relative; top:-10px"><a href="#">Zapomněli jste heslo?</a></div>-->
- </div>
- <div style="padding-top:30px" class="panel-body">
- <div style="display:none" id="login-alert" class="alert alert-danger col-sm-12"></div>
- <form id="loginform" class="form-horizontal" role="form" method="POST">
- <div style="margin-bottom: 25px" class="input-group">
- <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
- <input id="login-username" type="email" class="form-control" name="email" value="" placeholder="Emailová adresa">
- </div>
- <div style="margin-bottom: 25px" class="input-group">
- <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
- <input id="login-password" type="password" class="form-control" name="heslo" placeholder="Heslo">
- </div>
- <div style="margin-top:10px" class="form-group">
- <!-- Button -->
- <div class="col-sm-12 controls">
- <input name="loginButton" id="btn-signup" type="submit" class="btn btn-info" value="Přihlásit se"><i class="icon-hand-right"></i>
- </div>
- </div>
- <div class="form-group">
- <div class="col-md-12 control">
- <div style="border-top: 1px solid#888; padding-top:15px; font-size:85%" >
- Ještě nemáte účet?
- <a href="register.php">
- Zaregistrujte se zde.
- </a>
- </div>
- </div>
- </div>
- </form>
- </div>
- </div>
- </div>
- </div>
- </body>
- <script src="js/bootstrap.min.js"></script>
- <script src="js/jquery.js"></script>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement