login.php 5.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155
  1. <?php
  2. include_once('includes/db_connect.php');
  3. include_once('includes/global_functions.php');
  4. if($_SERVER['REQUEST_METHOD'] == "POST"){
  5. //Get username and password
  6. $username = safeString($_POST['username']);
  7. $password = safeString($_POST['password']);
  8. $remember = isset($_POST['remember']) ? $_POST['remember'] : 0;
  9. //Check if user exists
  10. if($stmt1 = $mysqli -> prepare("SELECT uid, password FROM login WHERE username=?")){
  11. $stmt1 -> bind_param('s', $username);
  12. $stmt1 -> execute();
  13. $stmt1 -> bind_result($id, $password_hash);
  14. $stmt1 -> fetch();
  15. $stmt1 -> close();
  16. }
  17. if($password_hash == null){
  18. logout("nouser");
  19. }else{
  20. //Check if password is correct
  21. if(!password_verify($password, $password_hash)){
  22. logout("nouser");
  23. }
  24. else
  25. {
  26. //Get user ID, IP
  27. $ip = $_SERVER['REMOTE_ADDR'];
  28. //Generate Session ID
  29. $characters = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
  30. $session_id = '';
  31. for ($i = 0; $i < 60; $i++) {
  32. $session_id .= $characters[rand(0, strlen($characters) - 1)];
  33. }
  34. //Update Session ID, Last Login, IP in database
  35. if($stmt1 = $mysqli -> prepare("UPDATE login SET session_id=?, ip=?, `last_login`=`current_login`, `current_login`=(NOW() + INTERVAL 7 HOUR), `remember`=? WHERE `uid`=?")) {
  36. $stmt1 -> bind_param('sssi', $session_id, $ip, $remember, $id);
  37. $stmt1 -> execute();
  38. $stmt1 -> close();
  39. }
  40. //Set Session ID
  41. setSession($session_id);
  42. //Reroute user to account page
  43. die(header("Location: index.php"));
  44. }
  45. }
  46. }
  47. ?>
  48. <!DOCTYPE html>
  49. <html>
  50. <head>
  51. <meta charset="utf-8">
  52. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  53. <title>Salty radio</title>
  54. <link href="includes/css/bootstrap.min.css" rel="stylesheet">
  55. <link href="includes/font-awesome/css/font-awesome.css" rel="stylesheet">
  56. <!-- Morris -->
  57. <link href="includes/css/plugins/morris/morris-0.4.3.min.css" rel="stylesheet">
  58. <link href="includes/css/animate.css" rel="stylesheet">
  59. <link href="includes/css/style.css" rel="stylesheet">
  60. <link href="includes/js/plugins/colorpicker/bootstrap-colorpicker.min.css" rel="stylesheet">
  61. </head>
  62. <body class="fixed-sidebar gray-bg">
  63. <div class="middle-box text-center loginscreen animated fadeInDown">
  64. <div>
  65. <div>
  66. <h1 class="logo-name">S®</h1>
  67. </div>
  68. <h3>SaltyRadio</h3>
  69. <p>Inlog pagina voor onze alarm</p>
  70. <?php if(isset($_GET['error'])){ ?>
  71. <div class="alert alert-danger">
  72. Er is iets fout gegaan.
  73. </div>
  74. <?php } ?>
  75. <?php if(isset($_GET['nosession'])){ ?>
  76. <div class="alert alert-info">
  77. Je bent niet ingelogd.
  78. </div>
  79. <?php } ?>
  80. <?php if(isset($_GET['session'])){ ?>
  81. <div class="alert alert-danger">
  82. De login sessie is afgelopen.
  83. </div>
  84. <?php } ?>
  85. <?php if(isset($_GET['nouser'])){ ?>
  86. <div class="alert alert-warning">
  87. Deze gebruikersnaam en wachtwoord combinatie is niet bekend.
  88. </div>
  89. <?php } ?>
  90. <?php if(isset($_GET['ip'])){ ?>
  91. <div class="alert alert-danger">
  92. Ergens anders ingelogd. Log opnieuw in om hier in te loggen.
  93. </div>
  94. <?php } ?>
  95. <?php if(isset($_GET['logout'])){ ?>
  96. <div class="alert alert-success">
  97. Succesvol uitgelogd.
  98. </div>
  99. <?php } ?>
  100. <?php if(isset($_GET['verify'])){ ?>
  101. <div class="alert alert-success">
  102. Email address has been verified.
  103. </div>
  104. <?php } ?>
  105. <?php if(isset($_GET['expired'])){ ?>
  106. <div class="alert alert-warning">
  107. This code is no longer usable.
  108. </div>
  109. <?php } ?>
  110. <?php if(isset($_GET['register'])){ ?>
  111. <div class="alert alert-success">
  112. Succesvol geregistreerd. U kunt nu inloggen.
  113. </div>
  114. <?php } ?>
  115. <form class="m-t" role="form" method="POST" action="">
  116. <div class="form-group">
  117. <input type="text" class="form-control" name="username" placeholder="username" required="">
  118. </div>
  119. <div class="form-group">
  120. <input type="password" class="form-control" name="password" placeholder="password" required="">
  121. </div>
  122. <div class="form-group">
  123. <div class="checkbox i-checks"><label> <input value="1" name="remember" type="checkbox"><i></i> Onthoud mij</label></div>
  124. </div>
  125. <button type="submit" class="btn btn-primary block full-width m-b">Login</button>
  126. <a href="#"><small>Wachtwoord vergeten? Kut voor je.</small></a>
  127. <p class="text-muted text-center"><small>Geen account?</small></p>
  128. <a class="btn btn-sm btn-white btn-block" href="register.php">Maak een account!</a>
  129. </form>
  130. <p class="m-t"> <small>StreamIT &copy; 2016</small> </p>
  131. </div>
  132. </div>
  133. <?php include_once("includes/footer.php"); ?>