Login.php
Gesponsorde koppelingen
PHP script bestanden
Code (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
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
<?php
class Login{
private $db;
function __construct(){
$this->db = Connect::connect();
}
public function login($email,$pass){
$stmt = $this->db->prepare("SELECT * FROM user WHERE email = ?");
$stmt->execute([$email]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if($result){
// WACHTWOORD is gemaakt met password_hash($password, PASSWORD_DEFAULT)
if(password_verify($pass, $result['pass'])){
// Maak een token
$token = base64_encode(random_bytes(64));
$token = strtr($token, '+/', '-_');
// Zet $token in een COOKIE en SESSIE
setcookie('auth_token', $token, time() + 3600, '/');
$_SESSION['auth_token'] = $token;
// Zet de gebruikersgegevens in een sessie
$_SESSION['id'] = htmlspecialchars($result['id']);
$_SESSION['user_name'] = htmlspecialchars($result['user_name']);
// VERWIJS de GEBRUIKER door naar de ingelogde pagina
header('Location: logged-in-page');
exit;
}
else{
$_SESSION['note'] = '<div class="note">Uw inloggegevens komen niet overeen!</div> ';
header('Location: redirect-login');
exit;
}
}
else{
$_SESSION['note'] = '<div class="note">Uw inloggegevens komen niet overeen!</div>';
header('Location: redirect-login');
exit;
}
}
}
?>
class Login{
private $db;
function __construct(){
$this->db = Connect::connect();
}
public function login($email,$pass){
$stmt = $this->db->prepare("SELECT * FROM user WHERE email = ?");
$stmt->execute([$email]);
$result = $stmt->fetch(PDO::FETCH_ASSOC);
if($result){
// WACHTWOORD is gemaakt met password_hash($password, PASSWORD_DEFAULT)
if(password_verify($pass, $result['pass'])){
// Maak een token
$token = base64_encode(random_bytes(64));
$token = strtr($token, '+/', '-_');
// Zet $token in een COOKIE en SESSIE
setcookie('auth_token', $token, time() + 3600, '/');
$_SESSION['auth_token'] = $token;
// Zet de gebruikersgegevens in een sessie
$_SESSION['id'] = htmlspecialchars($result['id']);
$_SESSION['user_name'] = htmlspecialchars($result['user_name']);
// VERWIJS de GEBRUIKER door naar de ingelogde pagina
header('Location: logged-in-page');
exit;
}
else{
$_SESSION['note'] = '<div class="note">Uw inloggegevens komen niet overeen!</div> ';
header('Location: redirect-login');
exit;
}
}
else{
$_SESSION['note'] = '<div class="note">Uw inloggegevens komen niet overeen!</div>';
header('Location: redirect-login');
exit;
}
}
}
?>