PHP ile Veritabanı Üzerinden Basit Yetkilendirme

Veritabanı tabanlı en basit yetkilendirmeyi uygulayalım, şimdilik kayıt olmadan. Kullanıcı kaydı yerine, onların kullanıcı adlarını ve şifrelerini doğrudan veritabanındaki bir tabloya gireceğiz:

users
id login password
1 user 12345
2 admin 123

Şimdi, kullanıcı adı ve şifrenin girileceği bir form yapalım:

login.php<form action="" method="POST">
  <input name="login">
  <input name="password" type="password">
  <input type="submit">
</form>

Şimdi, formun gönderilip gönderilmediğini kontrol eden, eğer gönderildiyse, veritabanında bu kullanıcı adı ve şifreye sahip bir kullanıcı olup olmadığını kontrol eden kodu yazalım:

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)) {
      // kullanıcı yetkilendirildi
    } else {
      // yanlış kullanıcı adı veya şifre
    }
  }
?>
Задание 1

Yukarıda açıklanan yetkilendirmeyi uygulayın. Eğer kullanıcı yetkilendirmeyi geçerse - bununla ilgili bir mesaj gösterilsin, eğer geçemezse - girilen kullanıcı adı veya şifrenin yanlış olduğuna dair bir mesaj gösterilsin.

Задание 2

Kodu, başarılı yetkilendirme durumunda şifre ve kullanıcı adı giriş formunun ekranda gösterilmemesi için değiştirin.

Задание 3

Kodu, başarılı yetkilendirme durumunda index.php sayfasına yönlendirme (redirect) yapılacak şekilde değiştirin.

Задание 4

Kodu, index.php sayfasında başarılı yetkilendirme mesajının gösterilmesi için değiştirin. Sorunu oturumlarda (session) flash mesajlar kullanarak çözün.