Advertisement
Guest User

Honzůde HILFE

a guest
May 24th, 2016
71
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 8.84 KB | None | 0 0
  1. <?php
  2. //server - databse connection
  3. $dbhost = 'localhost';
  4. $dbuser = 'matematikaspsul';
  5. $dbpass = 'MatematikaPetrom1';
  6. $dbname = 'matematikaspsul';
  7.  
  8. //localhost
  9. //$dbhost = 'localhost';
  10. //$dbuser = 'root';
  11. //$dbpass = '';
  12. //$dbname = 'matematikaspsul';
  13.  
  14. $mysqli = mysqli_connect($dbhost, $dbuser, $dbpass, $dbname) or die("Database Error");
  15.  
  16. ?>
  17. ##########################################################################################
  18.  
  19. Login.php
  20.  
  21. <html>
  22. <head>
  23. <meta charset="UTF-8">
  24. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  25. <meta name="viewport" content="width=device-width, initial-scale=1">
  26. <meta name="description" content="Matematický web SPSUL středisko Stříbrníky.">
  27. <meta name="author" content="Václav Sýkora">
  28.  
  29. <title>Login - Web Matematika</title>
  30. <link href="css/bootstrap.min.css" rel="stylesheet">
  31. <link href="css/styly.css" rel="stylesheet">
  32.  
  33. </head>
  34.  
  35. <body>
  36. <?php
  37. include_once('configdb.php');
  38. session_start();
  39.  
  40. // Díky tomuto se nedostanu ani na stránku login.php protože je nastavená session email.
  41. if (isset($_SESSION['email'])) {
  42. if ($_SESSION['timeout'] + 10 * 60 < time()) {
  43. session_destroy();
  44. header("Location: login.php");
  45. } else {
  46. echo '<script language="javascript" type="text/javascript">alert("Byl jsi automaticky odhlášen, klikni pro znovupřihlášení.");document.location.href="login.php"</script>';
  47. }
  48. session_destroy();
  49. header("Location: login.php");
  50. } else {
  51. // 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.
  52. if (isset($_POST['loginButton'])) {
  53. // Pokud je nastavená session email, třeba z druhého okna prohlížeče.
  54. if (isset($_SESSION['email'])) {
  55. require './timeout.php';
  56. // Za trest budu odhlášen, protože tahle situace nastane pouze pokud bude někdo chtít škodit.
  57. session_destroy();
  58. header("Location: login.php");
  59. } else {
  60.  
  61. // Když není nastaveno nic, vše je v cajku.
  62.  
  63. $email = filter_input(INPUT_POST, "email", FILTER_SANITIZE_EMAIL);
  64. $heslo = hash('sha512', filter_input(INPUT_POST, "heslo", FILTER_UNSAFE_RAW));
  65.  
  66. //Všichni uživatelé
  67. $result = mysqli_query($mysqli, "SELECT * FROM users WHERE email='$email' AND heslo='$heslo'")or die(mysqli_error());
  68. $num_row = mysqli_num_rows($result);
  69. $row = mysqli_fetch_array($result);
  70. //Aktivní uživatelé
  71. $result_aktiv = mysqli_query($mysqli, "SELECT * FROM users WHERE email='$email' AND heslo='$heslo' AND aktivni='1'")or die(mysqli_error());
  72. $num_row_aktiv = mysqli_num_rows($result_aktiv);
  73. $row_aktiv = mysqli_fetch_array($result_aktiv);
  74. //Admin
  75. $result_admin = mysqli_query($mysqli, "SELECT * FROM users WHERE email='$email' AND heslo='$heslo' AND typ='admin'")or die(mysqli_error());
  76. $num_row_admin = mysqli_num_rows($result_admin);
  77. $row_admin = mysqli_fetch_array($result_admin);
  78. if ($num_row == 1) {
  79. //Pokud se shoduje heslo a jmeno - jedno jeslti je aktivni
  80. $nick = $row['email'];
  81. mysqli_query($mysqli, "UPDATE users SET online=1 WHERE email='$nick'")or die(mysqli_error());
  82. if ($num_row_admin == 1) {
  83. //Pokud je to admin
  84. $_SESSION['email'] = $row['email'];
  85. $_SESSION['admin'] = $row_admin['typ'];
  86. $_SESSION['user'] = $row['jmeno'];
  87. $_SESSION['timeout'] = time();
  88. header("Location: member.php");
  89. exit;
  90. } else {
  91. //Pokud to není admin
  92. if ($num_row_aktiv == 1) {
  93. //AKTIVNÍ uživatel
  94. $_SESSION['email'] = $row['email'];
  95. $_SESSION['user'] = $row['jmeno'];
  96. unset($_SESSION['admin']);
  97. $_SESSION['timeout'] = time();
  98. header("Location: member.php");
  99. exit;
  100. } else {
  101. //NEAKTIVNÍ uživatel
  102. echo '<script language="javascript" type="text/javascript">alert("Váš účet není aktivní, požátejte admina o aktivaci.");document.location.href="login.php"</script>';
  103. }
  104. }
  105. } else {
  106. //Pokud se neshoduje heslo, nebo email
  107. echo '<script language="javascript" type="text/javascript">alert("Špané heslo a/nebo email.");document.location.href="login.php"</script>';
  108. }
  109. }
  110. }
  111. }
  112.  
  113. function getUserIP() {
  114. $client = @$_SERVER['HTTP_CLIENT_IP'];
  115. $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
  116. $remote = $_SERVER['REMOTE_ADDR'];
  117.  
  118. if (filter_var($client, FILTER_VALIDATE_IP)) {
  119. $ip = $client;
  120. } elseif (filter_var($forward, FILTER_VALIDATE_IP)) {
  121. $ip = $forward;
  122. } else {
  123. $ip = $remote;
  124. }
  125.  
  126. return $ip;
  127. }
  128. ?>
  129.  
  130.  
  131. <div class="container">
  132. <div id="loginbox" style="margin-top:50px;" class="mainbox col-md-6 col-md-offset-3 col-sm-8 col-sm-offset-2">
  133. <div class="panel panel-info" >
  134. <div class="panel-heading">
  135. <!-- <div class="panel-title">Špatné heslo, nebo email</div>-->
  136. <div class="panel-title">Příhlášení</div>
  137. <!--<div style="float:right; font-size: 80%; position: relative; top:-10px"><a href="#">Zapomněli jste heslo?</a></div>-->
  138. </div>
  139.  
  140. <div style="padding-top:30px" class="panel-body">
  141.  
  142. <div style="display:none" id="login-alert" class="alert alert-danger col-sm-12"></div>
  143.  
  144. <form id="loginform" class="form-horizontal" role="form" method="POST">
  145.  
  146. <div style="margin-bottom: 25px" class="input-group">
  147. <span class="input-group-addon"><i class="glyphicon glyphicon-user"></i></span>
  148. <input id="login-username" type="email" class="form-control" name="email" value="" placeholder="Emailová adresa">
  149. </div>
  150.  
  151. <div style="margin-bottom: 25px" class="input-group">
  152. <span class="input-group-addon"><i class="glyphicon glyphicon-lock"></i></span>
  153. <input id="login-password" type="password" class="form-control" name="heslo" placeholder="Heslo">
  154. </div>
  155.  
  156. <div style="margin-top:10px" class="form-group">
  157. <!-- Button -->
  158.  
  159. <div class="col-sm-12 controls">
  160. <input name="loginButton" id="btn-signup" type="submit" class="btn btn-info" value="Přihlásit se"><i class="icon-hand-right"></i>
  161. </div>
  162. </div>
  163.  
  164. <div class="form-group">
  165. <div class="col-md-12 control">
  166. <div style="border-top: 1px solid#888; padding-top:15px; font-size:85%" >
  167. Ještě nemáte účet?
  168. <a href="register.php">
  169. Zaregistrujte se zde.
  170. </a>
  171. </div>
  172. </div>
  173. </div>
  174. </form>
  175.  
  176. </div>
  177. </div>
  178. </div>
  179.  
  180. </div>
  181. </body>
  182. <script src="js/bootstrap.min.js"></script>
  183. <script src="js/jquery.js"></script>
  184. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement