Eenvoudige Magtiging deur Databasis op PHP
Laat ons die eenvoudigste magtiging op 'n databasis implementeer, tans sonder registrasie. In plaas van gebruikers te registreer, sal ons eenvoudig hul aanmeldings en wagwoorde in 'n tabel in die databasis invoer:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Kom ons maak nou 'n vorm waarin die aanmeldnaam en wagwoord ingevoer kan word:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Kom ons skryf nou die kode wat sal nagaan of die vorm ingestuur is en, indien wel, sal kontroleer of daar 'n gebruiker met so 'n aanmeldnaam en wagwoord in die databasis is:
<?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)) {
// gebruiker gemagtig
} else {
// verkeerde aanmeldnaam of wagwoord
}
}
?>
Implementeer die bogenoemde magtiging. Maak dit sodat, indien die gebruiker gemagtig is, 'n boodskap daaroor vertoon word, en indien nie, dan 'n boodskap dat die ingevoerde aanmeldnaam of wagwoord verkeerd is.
Wysig die kode sodat in die geval van suksesvolle magtiging die vorm vir die invoer van wagwoord en aanmeldnaam nie op die skerm vertoon word nie.
Wysig die kode sodat in die geval van suksesvolle
magtiging daar 'n herleiding na die bladsy
index.php plaasvind.
Wysig die kode sodat op die bladsy
index.php 'n boodskap oor
suksesvolle magtiging vertoon word. Los die probleem op deur
flitsboodskappe op sessies.