Pendaftaran dengan Pembagian Hak Akses di PHP
Saat menambahkan hak akses pengguna, kita perlu melakukan
perubahan dalam pendaftaran kita. Sekarang saat mendaftarkan
pengguna, kita harus menentukan
statusnya dalam permintaan INSERT.
Biasanya saat pendaftaran awal, semua pengguna
situs kita mendapatkan status terendah,
yaitu dalam kasus kita 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Status yang lebih tinggi biasanya diberikan oleh administrator. Dia di admin panel melihat daftar pengguna dan dapat menjadikan siapa pun, misalnya, sebagai administrator.
Lalu bagaimana administrator pertama akan muncul di situs? Cara paling sederhana: mendaftarkan pengguna biasa dan melalui PhpMyAdmin menjadikannya admin.
Yang lebih kompleks: saat pertama kali dijalankan di hosting menjalankan instalasi situs, meminta menggunakan formulir login dan kata sandi dan mendaftarkan pengguna paling pertama situs, yang kemudian diberikan status administrator.
Ubah kode pendaftaran sehingga semua pengguna yang ditambahkan
mendapatkan status 'user'.
Secara manual ubah status salah satu pengguna
menjadi 'admin'. Lakukan otorisasi
di bawah pengguna ini.
Buat halaman admin.php, yang hanya
dapat diakses oleh pengguna dengan
status 'admin'.
Tampilkan di halaman admin.php daftar
semua pengguna terdaftar dari situs Anda
dalam bentuk tabel. Biarkan dalam tabel ada
dua kolom: login dan status.
Modifikasi tugas sebelumnya sehingga muncul kolom ketiga, dengan tautan, yang dengannya admin dapat menghapus siapa pun pengguna.
Modifikasi tugas sebelumnya sehingga baris tabel dengan admin diwarnai dengan warna merah, dan dengan pengguna biasa - dengan warna hijau.
Modifikasi tugas sebelumnya sehingga muncul satu kolom lagi. Di kolom ini admin dapat mengubah hak akses pengguna. Buat sehingga untuk semua pengguna biasa di sana ada tautan jadikan dia admin, dan untuk admin - tautan jadikan dia user.
Buat sehingga di semua halaman situs, di header pengguna terdaftar melihat login dan statusnya.
Modifikasi tugas sebelumnya sehingga untuk admin di header situs juga ditampilkan tautan ke admin panel.