Advertisement
Guest User

Untitled

a guest
Jun 13th, 2018
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.15 KB | None | 0 0
  1. <?php
  2. session_start();
  3. require('inc/db.php');
  4. // Define variables and initialize with empty values
  5. $username = $password = "";
  6. $username_err = $password_err = "";
  7.  
  8. // Processing form data when form is submitted
  9. if($_SERVER["REQUEST_METHOD"] == "POST"){
  10.  
  11. // Check if username is empty
  12. if(empty(trim($_POST["username"]))){
  13. $username_err = 'Please enter username.';
  14. } else{
  15. $username = trim($_POST["username"]);
  16. }
  17.  
  18. // Check if password is empty
  19. if(empty(trim($_POST['password']))){
  20. $password_err = 'Please enter your password.';
  21. } else{
  22. $password = trim($_POST['password']);
  23. }
  24.  
  25. // Validate credentials
  26. if(empty($username_err) && empty($password_err)){
  27. // Prepare a select statement
  28. $sql = "SELECT username, password FROM users WHERE username = :username";
  29.  
  30. if($stmt = $pdo->prepare($sql)){
  31. // Bind variables to the prepared statement as parameters
  32. $stmt->bindParam(':username', $param_username, PDO::PARAM_STR);
  33.  
  34. // Set parameters
  35. $param_username = trim($_POST["username"]);
  36.  
  37. // Attempt to execute the prepared statement
  38. if($stmt->execute()){
  39. // Check if username exists, if yes then verify password
  40. if($stmt->rowCount() == 1){
  41. if($row = $stmt->fetch()){
  42. $hashed_password = $row['password'];
  43. if(password_verify($password, $hashed_password)){
  44. /* Password is correct, so start a new session and
  45. save the username to the session */
  46.  
  47. $_SESSION['username'] = $username;
  48. header("location: dashboard.php");
  49. } else{
  50. // Display an error message if password is not valid
  51. $password_err = 'The password you entered was not valid.';
  52. }
  53. }
  54. } else{
  55. // Display an error message if username doesn't exist
  56. $username_err = 'No account found with that username.';
  57. }
  58. } else{
  59. echo "Oops! Something went wrong. Please try again later.";
  60. }
  61. }
  62.  
  63. // Close statement
  64. unset($stmt);
  65. }
  66.  
  67. // Close connection
  68. unset($pdo);
  69. }
  70. ?>
  71. <!DOCTYPE html>
  72. <html lang="en">
  73. <head>
  74. <meta charset="utf-8"/>
  75. <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
  76. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0">
  77. <link rel="icon" href="img/logo3.png">
  78. <link href="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css">
  79. <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.6.1/css/font-awesome.min.css">
  80. <link rel="stylesheet" type="text/css" href="css/style.css">
  81. <title>Login Form</title>
  82. </head>
  83. <body>
  84. <?php include("inc/nav.php"); ?>
  85. <div class="container">
  86. <form action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
  87. <div class="form-group <?php echo (!empty($username_err)) ? 'has-error' : ''; ?>">
  88. <div class="row">
  89. <div class="col-md-3"></div>
  90. <div class="col-md-6">
  91. <h2>Please Login</h2>
  92. <hr>
  93. </div>
  94. </div>
  95. <div class="row">
  96. <div class="col-md-3"></div>
  97. <div class="col-md-6">
  98. <div class="form-group has-danger">
  99. <label>Username</label>
  100. <input type="text" name="username"class="form-control" value="<?php echo $username; ?>">
  101. <span class="help-block"><?php echo $username_err; ?></span>
  102. </div>
  103. </div>
  104.  
  105. </div>
  106. <div class="row">
  107. <div class="col-md-3"></div>
  108. <div class="col-md-6">
  109. <div class="form-group">
  110. <label>Password</label>
  111. <input type="password" name="password" class="form-control">
  112. <span class="help-block"><?php echo $password_err; ?></span>
  113. </div>
  114. </div>
  115. </div>
  116.  
  117. <div class="row" style="padding-top: 1rem">
  118. <div class="col-md-3"></div>
  119. <div class="col-md-6">
  120. <button type="submit" class="btn btn-succes"><i class="fa fa-sign-in"></i> Login</button>
  121. <a class="btn btn-link" href="registration.php">Register?</a>
  122. </div>
  123. </div>
  124. </form>
  125. </div>
  126. <?php include("footer/footerhome.php"); ?>
  127. <script src="//maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
  128. <script src="//code.jquery.com/jquery-1.11.1.min.js"></script>
  129. </body>
  130. </html>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement