Yksinkertainen tietokantapohjainen kirjautuminen PHP:llä
Toteutetaan yksinkertaisin kirjautuminen tietokantaan perustuen, toistaiseksi ilman rekisteröintiä. Rekisteröinnin sijasta käyttäjien tiedot syötetään suoraan tietokantatauluun:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
Tehdään nyt lomake, johon kirjoitetaan käyttäjätunnus ja salasana:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
Kirjoitetaan nyt koodi, joka tarkistaa, onko lomake lähetetty ja jos on, niin tarkistaa, onko tietokannassa käyttäjää kyseisellä käyttäjätunnuksella ja salasanalla:
<?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)) {
// käyttäjä kirjautunut sisään
} else {
// virheellinen käyttäjätunnus tai salasana
}
}
?>
Toteuta edellä kuvattu kirjautuminen. Tee niin, että jos käyttäjä on kirjautunut sisään onnistuneesti - tulostetaan siitä viesti, ja jos kirjautuminen epäonnistui - niin viesti siitä, että annettu käyttäjätunnus tai salasana on virheellinen.
Muokkaa koodia niin, että onnistuneen kirjautumisen tapauksessa salasanan ja käyttäjätunnuksen syöttölomaketta ei näytetä näytöllä.
Muokkaa koodia niin, että onnistuneen
kirjautumisen tapauksessa tapahtuu uudelleenohjaus sivulle
index.php.
Muokkaa koodia niin, että sivulla
index.php tulostetaan viesti
onnistuneesta kirjautumisesta. Ratkaise tehtävä
käyttämällä istuntoihin perustuvia flash-viestejä.