Enkel autorisering via database i PHP
La oss implementere den enkleste autoriseringen på en database, foreløpig uten registrering. I stedet for å registrere brukere, skal vi bare legge inn deres brukernavn og passord i en tabell i databasen:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
La oss nå lage et skjema der brukernavn og passord skal skrives inn:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
La oss nå skrive koden som skal sjekke om skjemaet er sendt inn, og hvis det er sendt inn, sjekke om det finnes en bruker i databasen med det brukernavnet og passordet:
<?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)) {
// bruker autorisert
} else {
// feil brukernavn eller passord
}
}
?>
Implementer autoriseringen beskrevet ovenfor. Gjør så at hvis brukeren bestod autoriseringen - vises en melding om dette, og hvis ikke - vises en melding om at det oppgitte brukernavnet eller passordet er feil.
Modifiser koden slik at ved vellykket autorisering ikke skjemaet for passord og brukernavn blir vist på skjermen.
Modifiser koden slik at ved vellykket
autorisering skjer en omdirigering til siden
index.php.
Modifiser koden slik at på siden
index.php vises en melding om
vellykket autorisering. Løs oppgaven ved hjelp av
flash-meldinger på sesjoner.