მარტივი ავტორიზაცია მონაცემთა ბაზის მეშვეობით PHP-ში
მოდით, განვახორციელოთ ყველაზე მარტივი ავტორიზაცია მონაცემთა ბაზაზე დაფუძნებული, ჯერ რეგისტრაციის გარეშე. რეგისტრაციის ნაცვლად მომხმარებლების, ჩვენ უბრალოდ შევიყვანთ მათი ლოგინები და პაროლები ცხრილში მონაცემთა ბაზაში:
| id | login | password |
|---|---|---|
| 1 | user | 12345 |
| 2 | admin | 123 |
ახლა გავაკეთოთ ფორმა, რომელშიც შევიყვანთ ლოგინს და პაროლს:
<form action="" method="POST">
<input name="login">
<input name="password" type="password">
<input type="submit">
</form>
ახლა დავწეროთ კოდი, რომელიც შეამოწმებს, გაიგზავნა თუ არა ფორმა და, თუ გაიგზავნა, შეამოწმებს, არის თუ არა მონაცემთა ბაზაში მომხმარებელი ასეთი ლოგინით და პაროლით:
<?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)) {
// მომხმარებელი ავტორიზებულია
} else {
// არასწორი ლოგინი ან პაროლი
}
}
?>
განახორციელეთ ზემოთ აღწერილი ავტორიზაცია. გახადეთ ისე, რომ თუ მომხმარებელმა გაიარა ავტორიზაცია - გამოეტანათ ამის შესახებ შეტყობინება, ხოლო თუ არა გაიარა - მაშინ შეტყობინება იმის შესახებ, რომ შეყვანილი ლოგინი ან პაროლი არასწორია.
მოდიფიცირება გაუკეთეთ კოდს ისე, რომ წარმატებული ავტორიზაციის შემთხვევაში, პაროლისა და ლოგინის შესაყვანი ფორმა არ გამოჩნდეს ეკრანზე.
მოდიფიცირება გაუკეთეთ კოდს ისე, რომ წარმატებული
ავტორიზაციის შემთხვევაში მოხდეს გადამისამართება გვერდზე
index.php.
მოდიფიცირება გაუკეთეთ კოდს ისე, რომ გვერდზე
index.php გამოჩნდეს შეტყობინება
ავტორიზაციის წარმატების შესახებ. ამოხსენით ამოცანა
სესიებზე დაფუძნებული ფლეშ-შეტყობინებების მეშვეობით.