Enkel autentisering via databas i PHP
Låt oss implementera den enklaste autentiseringen baserad på en databas, för nu utan registrering. Istället för att registrera användare kommer vi helt enkelt att skriva in deras användarnamn och lösenord i en tabell i databasen:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Låt oss nu skapa ett formulär där användarnamn och lösenord ska skrivas in:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Låt oss nu skriva koden som kommer att kontrollera om formuläret har skickats och, om det har skickats, kontrollera om det finns en användare i databasen med sådant användarnamn och lösenord:
<?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)) {
// användaren autentiserad
} else {
// fel användarnamn eller lösenord
}
}
?>
Implementera autentiseringen som beskrivits ovan. Gör så att om användaren har autentiserats - visas ett meddelande om detta, och om inte - visas ett meddelande om att det angivna användarnamnet eller lösenordet är felaktigt.
Modifiera koden så att vid framgångsrik autentisering visas inte formuläret för inloggning och lösenord på skärmen.
Modifiera koden så att vid framgångsrik
autentisering sker en omdirigering till sidan
index.php.
Modifiera koden så att på sidan
index.php visas ett meddelande om
framgångsrik autentisering. Lös uppgiften med hjälp av
flash-meddelanden i sessioner.