Simpel godkendelse via database i PHP
Lad os implementere den enkleste godkendelse baseret på en database, foreløbig uden registrering. I stedet for at registrere brugere, vil vi simpelthen indtaste deres login og kodeord i en tabel i databasen:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Lad os nu lave en formular, hvor login og kodeord skal indtastes:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Lad os nu skrive koden, der vil kontrollere, om formularen er sendt, og hvis den er sendt, så kontrollere, om der er en bruger i databasen med sådant login og kodeord:
<?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)) {
// bruger godkendt
} else {
// forkert login eller kodeord
}
}
?>
Implementer den ovenfor beskrevne godkendelse. Sørg for, at hvis brugeren bestod godkendelsen - vises en besked herom, og hvis ikke bestod - en besked om, at det indtastede login eller kodeord er forkert.
Modificer koden, så formen til indtastning af kodeord og login ikke vises på skærmen i tilfælde af succesfuld godkendelse.
Modificer koden, så der i tilfælde af succesfuld godkendelse sker en omdirigering til siden
index.php.
Modificer koden, så der på siden
index.php vises en besked om
succesfuld godkendelse. Løs opgaven via
flash-beskeder på sessioner.