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:

users
id login password
1 user 12345
2 admin 123

Tehdään nyt lomake, johon kirjoitetaan käyttäjätunnus ja salasana:

login.php<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:

login.php<?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
    }
  }
?>
Задание 1

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.

Задание 2

Muokkaa koodia niin, että onnistuneen kirjautumisen tapauksessa salasanan ja käyttäjätunnuksen syöttölomaketta ei näytetä näytöllä.

Задание 3

Muokkaa koodia niin, että onnistuneen kirjautumisen tapauksessa tapahtuu uudelleenohjaus sivulle index.php.

Задание 4

Muokkaa koodia niin, että sivulla index.php tulostetaan viesti onnistuneesta kirjautumisesta. Ratkaise tehtävä käyttämällä istuntoihin perustuvia flash-viestejä.