Advertisement
Guest User

Untitled

a guest
Nov 25th, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.23 KB | None | 0 0
  1. <?php
  2.  
  3. session_start();
  4.  
  5. //include ircmaxell's password_compat library
  6. require 'lib/password.php';
  7.  
  8. //include MySQL conn
  9. require 'connect.php';
  10.  
  11. $errors = array();
  12.  
  13. if (isset($_POST['login'])) {
  14. $username = !empty($_POST['username']) ? trim($_POST['username']) : null;
  15. $password = !empty($_POST['password']) ? trim($_POST['password']) : null;
  16.  
  17. //retrive the user information for the username
  18. $sql = "SELECT id, username, password FROM users WHERE username = :username";
  19. $stmt = $db->prepare($sql);
  20.  
  21. $stmt->bindValue(':username', $username);
  22. $stmt->execute();
  23.  
  24. $result = $stmt->fetch(PDO::FETCH_ASSOC);
  25.  
  26. if($result !== FALSE) {
  27. //compare the passwords
  28. $validPassword = password_verify($password, $result['password']);
  29.  
  30. if ($validPassword == TRUE) {
  31. $_SESSION['user_id'] = $result['id'];
  32. $_SESSION['user'] = $result['username'];
  33. $_SESSION['now_logged'] = TRUE;
  34. $_SESSION['logged_in'] = time();
  35.  
  36. header('Location: index.php');
  37.  
  38.  
  39. }
  40. else {
  41. //passwords don't match
  42. $stmt = NULL;
  43. $db = NULL;
  44. $result = NULL;
  45.  
  46. array_push($errors, "Invalid password!");
  47. }
  48. }
  49. else {
  50. $stmt = NULL;
  51. $db = NULL;
  52. $result = NULL;
  53.  
  54. array_push($errors, "Invalid username!");
  55. }
  56. }
  57.  
  58. ?>
  59. <!DOCTYPE html>
  60. <html>
  61. <head>
  62. <meta charset="utf-8" />
  63. <meta http-equiv="X-UA-Compatible" content="IE=edge">
  64. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  65.  
  66. <title>Log in</title>
  67.  
  68. <link rel="stylesheet" type="text/css" href="css/login.css" />
  69.  
  70. <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.5.0/css/all.css"
  71. integrity="sha384-B4dIYHKNBt8Bc12p+WXckhzcICo0wtJAoU8YZTY5qE0Id1GSseTk6S+L3BlXeVIU"
  72. crossorigin="anonymous">
  73.  
  74. <script src="javascripts/main.js"></script>
  75. </head>
  76.  
  77. <body>
  78.  
  79. <div class="wrapper">
  80.  
  81. <div class="header">
  82.  
  83. <div class="logo">
  84. </div>
  85.  
  86. <div class="menu">
  87. <?php
  88. $page = 'index'; include('includes/menu.php');
  89. ?>
  90. </div>
  91.  
  92. <div class="banner">
  93. </div>
  94.  
  95. </div>
  96.  
  97. <div class="content">
  98.  
  99. <form method="POST" action="loginForm.php" class="login">
  100.  
  101. <?php
  102. //errors output
  103. include('errors.php');
  104. ?>
  105.  
  106. <div class="contentBox">
  107. <div class="inputBox">
  108. <i class="fas fa-user-tie"></i>
  109. <input type="text" name="username" placeholder="Username" required>
  110. </div>
  111. <div class="inputBox">
  112. <i class="fas fa-key"></i>
  113. <input type="password" name="password" placeholder="Password" required>
  114. </div>
  115. <div class="inputBox">
  116. <input type="submit" name="login" value="Login">
  117. </div>
  118.  
  119. <p>If you are not registered yet, register <a href="registerForm.php">here.</a></p>
  120. </div>
  121.  
  122. </form>
  123.  
  124. </div>
  125.  
  126. </div>
  127.  
  128. <div class="footer">
  129. <?php
  130. include('includes/footer.php');
  131. ?>
  132. </div>
  133.  
  134.  
  135.  
  136. </body>
  137. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement