Pendaftaran dengan Pemisahan Hak Akses dalam PHP
Apabila menambah hak akses pengguna, kita perlu membuat
perubahan pada pendaftaran kita. Sekarang, semasa mendaftar
pengguna, kita mesti nyatakan statusnya dalam
permintaan INSERT.
Biasanya semasa pendaftaran awal, semua pengguna
laman web kami menerima status paling rendah,
iaitu dalam kes kami 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Status yang lebih tinggi biasanya diberikan oleh pentadbir. Dia dalam panel admin melihat senarai pengguna dan boleh menjadikan sesiapa sahaja, sebagai contoh, sebagai pentadbir.
Bagaimanakah pentadbir pertama akan muncul di laman web dalam kes ini? Cara paling mudah: daftarkan pengguna biasa dan melalui PhpMyAdmin jadikan dia pentadbir.
Lebih rumit: pada pelancaran pertama di hos jalankan pemasangan laman web, tanya menggunakan borang log masuk dan kata laluan dan daftarkan pengguna pertama laman web, dan berikan dia status pentadbir.
Ubah suai kod pendaftaran supaya semua pengguna
yang ditambah menerima status 'user'.
Secara manual, tukar status untuk mana-mana pengguna
kepada 'admin'. Log masuk
menggunakan pengguna ini.
Buat halaman admin.php, yang mana
hanya pengguna dengan
status 'admin' akan mempunyai akses.
Paparkan pada halaman admin.php senarai
semua pengguna berdaftar laman web anda
dalam bentuk jadual. Biarkan jadual mempunyai
dua lajur: log masuk dan status.
Ubah suai tugas sebelumnya supaya muncul lajur ketiga, dengan pautan, menggunakan mana pentadbir boleh memadamkan mana-mana pengguna.
Ubah suai tugas sebelumnya supaya baris jadual dengan pentadbir diwarnakan dengan warna merah, dan pengguna biasa - dengan warna hijau.
Ubah suai tugas sebelumnya supaya muncul satu lagi lajur. Dalam lajur ini pentadbir boleh menukar hak akses pengguna. Buat supaya untuk semua pengguna biasa terdapat pautan jadikan dia pentadbir, dan untuk pentadbir - pautan jadikan dia pengguna.
Buat supaya pada semua halaman laman web, dalam header pengguna berdaftar melihat log masuk dan statusnya.
Ubah suai tugas sebelumnya supaya untuk pentadbir dalam header laman web juga dipaparkan pautan ke panel admin.