PHP'de Kullanıcı Yetkilerine Göre Kayıt
Kullanıcı yetkileri eklerken, kayıt işlemimizde
değişiklikler yapmamız gerekiyor. Artık bir kullanıcıyı
kaydederken, INSERT sorgusunda onun
durumunu belirtmeliyiz.
Genellikle ilk kayıt sırasında web sitemizin tüm kullanıcıları
en düşük statüyü alır,
yani bizim durumumuzda 'user':
<?php
$query = "INSERT INTO users
SET login='$login', password='$password', 'status'='user'";
?>
Daha yüksek statüleri genellikle yönetici verir. O, yönetici panelinde kullanıcı listesini görür ve herhangi birini, örneğin yönetici yapabilir.
Peki sitede bu durumda ilk yönetici nasıl ortaya çıkacak? En basiti: sıradan bir kullanıcıyı kaydedip PhpMyAdmin üzerinden onu yönetici yapmak.
Daha karmaşığı: Hosting'de ilk çalıştırmada site kurulumunu başlatmak, bir form aracılığıyla kullanıcı adı ve şifre sormak ve sitenin ilk kullanıcısını kaydedip ona yönetici statüsü vermek.
Kayıt kodunu, eklenen tüm kullanıcıların
'user' statüsünü alacak şekilde değiştirin.
El ile herhangi bir kullanıcının
statüsünü 'admin' olarak değiştirin.
Bu kullanıcı ile giriş yapın.
Sadece 'admin' statüsündeki kullanıcıların
erişiminin olduğu bir admin.php sayfası yapın.
admin.php sayfasında, sitenizdeki
kayıtlı tüm kullanıcıların listesini
bir tablo olarak gösterin. Tabloda
iki sütun olsun: kullanıcı adı ve statü.
Önceki görevi, bir üçüncü sütun daha olacak şekilde değiştirin, bu sütunda yöneticinin herhangi bir kullanıcıyı silebileceği bir bağlantı bulunsun.
Önceki görevi, yöneticilerin bulunduğu tablo satırlarının kırmızı, sıradan kullanıcıların bulunduğu satırların ise yeşil renge boyanacak şekilde değiştirin.
Önceki görevi, bir sütun daha olacak şekilde değiştirin. Bu sütunda yönetici, kullanıcıların yetkilerini değiştirebilsin. Tüm sıradan kullanıcılar için orada onu yönetici yap bağlantısı bulunsun, yöneticiler için ise - onu kullanıcı yap bağlantısı bulunsun.
Sitenin tüm sayfalarında, başlıkta kayıtlı kullanıcının kendi kullanıcı adını ve statüsünü görmesini sağlayın.
Önceki görevi, yöneticiler için site başlığında ayrıca yönetici paneline bağlantının gösterilmesi şeklinde değiştirin.