Autentificare simplă prin baza de date în PHP
Să implementăm cea mai simplă autentificare pe baza de date, deocamdată fără înregistrare. În locul înregistrării utilizatorilor, vom introduce pur și simplu login-urile și parolele lor într-un tabel în baza de date:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Să facem acum un formular în care vor fi introduse login-ul și parola:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Să scriem acum codul care va verifica dacă formularul a fost trimis și, dacă a fost trimis, va verifica dacă există în baza de date un utilizator cu acest login și parolă:
<?php
if (!empty($_POST['password']) and !empty($_POST['login'])) {
$login = $_POST['login'];
$password = $_POST['password'];
$query = "SELECT * FROM users WHERE login='$login' AND password='$password'";
$res = mysqli_query($link, $query);
$user = mysqli_fetch_assoc($res);
if (!empty($user)) {
// utilizatorul este autentificat
} else {
// login sau parolă incorectă
}
}
?>
Implementați autentificarea descrisă mai sus. Faceți astfel încât, dacă utilizatorul a trecut de autentificare - să se afișeze un mesaj despre aceasta, iar dacă nu a trecut - un mesaj că login-ul introdus sau parola sunt incorecte.
Modificați codul astfel încât, în cazul unei autentificări reușite, formularul pentru introducerea parolei și login-ului să nu mai fie afișat pe ecran.
Modificați codul astfel încât, în cazul unei autentificări
reușite, să aibă loc o redirecționare către pagina
index.php.
Modificați codul astfel încât pe pagina
index.php să se afișeze un mesaj despre
autentificarea reușită. Rezolvați problema prin
mijlocirea mesajelor flash în sesiuni.