-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.php
151 lines (115 loc) · 4.34 KB
/
index.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
<?php
// starting the session
session_start();
// connecting to the database
require_once "configs/config.php";
// if the user is already logged in then redirect him to index page
if (isset($_SESSION['username'])) {
header("location: welcome.php");
exit;
}
$error = "";
$success = "";
if ($_SERVER["REQUEST_METHOD"] == "POST") {
// Check if username is empty
if (empty(trim($_POST["username"]))) {
$error = "Please enter username.";
} else {
$username = trim($_POST["username"]);
}
// Check if password is empty
if (empty(trim($_POST["password"]))) {
$password_err = "Please enter your password.";
} else {
$password = trim($_POST["password"]);
}
if (empty($error)) {
// loggin the user in
$sql = "SELECT id, username, password FROM users WHERE username = ?";
$statement = "SELECT * FROM users WHERE username = '$username'";
$result = mysqli_query($conn, $statement);
// check if the user exists or not
if ($result) {
if (mysqli_num_rows($result) > 0) {
$row = mysqli_fetch_array($result);
if (password_verify($password, $row['password'])) {
session_start();
$_SESSION["username"] = $username;
$_SESSION["id"] = $row['id'];
$_SESSION["loggedin"] = true;
// redirect user to welcome page
header("location: welcome.php");
} else {
$error = "Invalid password";
}
} else {
$error = "Invalid username";
}
} else {
$error = "Oops! Something went wrong. Please try again later.";
}
}
}
?>
<!doctype html>
<html lang="en">
<head>
<!-- Required meta tags -->
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css"
integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<title>PHP login system!</title>
</head>
<body>
<?php include 'layouts/navbar.php' ?>
<div class="container mt-4">
<h3>Please Login Here:</h3>
<hr>
<form action="" method="post">
<div class="form-group">
<label for="exampleInputEmail1">Username</label>
<input type="text" name="username" class="form-control" id="exampleInputEmail1" aria-describedby="emailHelp"
placeholder="Enter Username">
</div>
<div class="form-group">
<label for="exampleInputPassword1">Password</label>
<input type="password" name="password" class="form-control" id="exampleInputPassword1"
placeholder="Enter Password">
</div>
<div class="form-group form-check">
<input type="checkbox" class="form-check-input" id="exampleCheck1">
<label class="form-check-label" for="exampleCheck1">Check me out</label>
</div>
<?php
if (isset($error) && $error !== "") {
echo '<div class="alert alert-danger" role="alert">' . $error . '</div>';
}
if (isset($succes) && $succes !== "") {
echo '<div class="alert alert-success" role="alert">' . $succes . '</div>';
}
?>
<!-- Place for resume
<div class="form-check">
<input class="form-check-input" type="checkbox" id="gridCheck">
<label class="form-check-label" for="gridCheck">
Check me out
</label>
</div>-->
<button type="submit" class="btn btn-primary">Submit</button>
</form>
</div>
<!-- Optional JavaScript -->
<!-- jQuery first, then Popper.js, then Bootstrap JS -->
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js"
integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo"
crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"
integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1"
crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
</body>
</html>