Preprosta avtorizacija prek podatkovne baze na PHP
Implementirajmo najpreprostejšo avtorizacijo na podlagi podatkovne baze, za zdaj brez registracije. Namesto registracije uporabnikov bomo preprosto vnesli njihove prijavne imena in gesla v tabelo v podatkovni bazi:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Naredimo zdaj obrazec, v katerega bomo vnesli prijavno ime in geslo:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Napišimo zdaj kodo, ki bo preverjala, ali je bil obrazec poslan in, če je bil, preverila, ali v podatkovni bazi obstaja uporabnik s takšnim prijavnim imenom in geslom:
<?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)) {
// uporabnik je avtoriziran
} else {
// napačno prijavno ime ali geslo
}
}
?>
Implementirajte zgoraj opisano avtorizacijo. Naredite tako, da se, če je uporabnik uspešno avtoriziral, prikaže sporočilo o tem, če pa ni uspel, pa sporočilo, da sta vneseno prijavno ime ali geslo napačna.
Spremenite kodo tako, da se v primeru uspešne avtorizacije obrazec za vnos gesla in prijavnega imena ne prikaže na zaslonu.
Spremenite kodo tako, da se v primeru uspešne
avtorizacije izvede preusmeritev na stran
index.php.
Spremenite kodo tako, da se na strani
index.php prikaže sporočilo o
uspešni avtorizaciji. Rešite nalogo s pomočjo
flash sporočil v sejah.