ডাটাবেজের মাধ্যমে পিএইচপিতে সহজ অথরাইজেশন

আসুন আমরা রেজিস্ট্রেশন ছাড়াই ডাটাবেজের ভিত্তিতে সবচেয়ে সহজ অথরাইজেশন বাস্তবায়ন করি। ব্যবহারকারী রেজিস্ট্রেশন করার পরিবর্তে, আমরা কেবল তাদের লগিন এবং পাসওয়ার্ড ডাটাবেজের একটি টেবিলে লিখে দেব:

users
id login password
1 user 12345
2 admin 123

এখন একটি ফর্ম তৈরি করি, যেখানে লগিন এবং পাসওয়ার্ড লিখতে হবে:

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

এখন এমন কোড লিখি যা পরীক্ষা করবে যে ফর্মটি পাঠানো হয়েছে কিনা এবং যদি পাঠানো হয়, তাহলে পরীক্ষা করবে যে ডাটাবেজে এমন লগিন এবং পাসওয়ার্ড সহ কোন ব্যবহারকারী আছে কিনা:

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)) {
      // user authorized
    } else {
      // incorrect login or password
    }
  }
?>
Задание 1

উপরে বর্ণিত অথরাইজেশনটি বাস্তবায়ন করুন। এমন করুন যে, যদি ব্যবহারকারী অথরাইজেশন পাস করে - তাহলে সে সম্পর্কে একটি বার্তা দেখানো হয়, আর যদি না পাস করে - তাহলে একটি বার্তা দেখানো হয় যে প্রবেশ করানো লগিন বা পাসওয়ার্ড ভুল।

Задание 2

কোডটি এমনভাবে পরিবর্তন করুন যাতে সফল অথরাইজেশনের ক্ষেত্রে পাসওয়ার্ড এবং লগিন প্রবেশ করানোর ফর্মটি স্ক্রিনে দেখানো না হয়।

Задание 3

কোডটি এমনভাবে পরিবর্তন করুন যাতে সফল অথরাইজেশনের ক্ষেত্রে index.php পৃষ্ঠায় রিডাইরেক্ট হয়।

Задание 4

কোডটি এমনভাবে পরিবর্তন করুন যাতে index.php পৃষ্ঠায় সফল অথরাইজেশন সম্পর্কে একটি বার্তা দেখানো হয়। সেশনে ফ্ল্যাশ বার্তার মাধ্যমে সমস্যাটির সমাধান করুন।