Vienkārša autorizācija caur datu bāzi PHP
Realizēsim visvienkāršāko autorizāciju uz datu bāzes, pagaidām bez reģistrācijas. Reģistrācijas vietā lietotājus mēs vienkārši ievadīsim to lietotājvārdus un paroles tabulā datu bāzē:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Izveidosim tagad formu, kurā tiks ievadīts lietotājvārds un parole:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Uzrakstīsim tagad kodu, kas pārbaudīs, vai forma ir nosūtīta un, ja nosūtīta, tad pārbaudīs, vai datu bāzē ir lietotājs ar šādu lietotājvārdu un paroli:
<?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)) {
// lietotājs autorizēts
} else {
// nepareizs lietotājvārds vai parole
}
}
?>
Realizējiet iepriekš aprakstīto autorizāciju. Veiciet tā, lai, ja lietotājs ir veiksmīgi autorizējies - tiktu parādīts ziņojums par to, bet, ja nē, tad ziņojums par to, ka ievadītais lietotājvārds vai parole ir nepareizi ievadīti.
Modificējiet kodu tā, lai veiksmīgas autorizācijas gadījumā parole un lietotājvārda ievades forma netiktu rādīta ekrānā.
Modificējiet kodu tā, lai veiksmīgas
autorizācijas gadījumā notiktu pāradresācija uz lapu
index.php.
Modificējiet kodu tā, lai lapā
index.php tiktu parādīts ziņojums par
veiksmīgu autorizāciju. Atrisiniet uzdevumu ar
flash-ziņojumiem sesijās.