lostyazilim
tr.link

İlk ID yi silmeyi engellemek

6 Mesajlar 931 Okunma
acebozum
tr.link

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Herkese Merhaba;
Yönetim panelime yöneticiler bölümü açtım. Doğal olarak da ilk id yi alan yönetici benim. Mysql tablomun ismi de yonetici. Şimdi sormak istediğim şu. yonetici tablosunda id'si 1e eşit yöneticinin silinmesini ve düzenlenmesini engellemek istiyorum.
Yönetim panelinde while döngüsü ile yöneticiler gösterdiğim için düzenle ve sil butonları da çıkıyor. IDsi 1 olana çıkmasın gerilerine normal döngü dönsün istiyorum. Yardımcı olursanız memnun olurum. Üzerinden nasıl yapabilirim diye düşündüm if döngüsü kullanmak sizce sistemi yorar mı?


if ($yoneticiid=1) {
bla bla bla
} else {

bla bla blaDüzenle butonu | Sil butonu
}
?>


Sizce bu sistemi çok yorar mı?
 

 

elektronikssl
webimgo

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)
Sanırım ben olsam şöyle yapardım. Yöneticilere level (seviye) verirdim. Silinmesini istemediğiniz yöneticilerin leveli 100 olsun. diğerleri 1 olsun. Sorguyu çekerken level!=100 derseniz gözükmez bile :)
Ama siz görünsünd e silinmesin isterseniz normal bir şekilde çeker if ($Level=100) {sil'i gizle } else { sil aktif et. }

şeklinde bir mantık kurabilirsiniz.
Diğer seçenek yöneticileri inputlarla (checkbox) dizer. En alta bir sil butonu koyarsınız seçili inputları bir diziye atar. Sil'e basıldığında dizideki id'leri silersiniz sistemde kasmamış olur.
 

 

ramazankonur ramazankonur WM Aracı Kullanıcı
  • Üyelik 25.02.2013
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Programlama
  • Konum Denizli
  • Ad Soyad R** K**
  • Mesajlar 421
  • Beğeniler 36 / 96
  • Ticaret 1, (%100)
sadece sil butonunu gizlemek yetmez.silme sorgusundada kişiyi kontrol ettirmen lazım.yoksa id yi bilen birisi get değeri göndererek yine siler
 

 

FurkanKandemir FurkanKandemir WM Aracı Kullanıcı
  • Üyelik 25.05.2015
  • Yaş/Cinsiyet 32 / E
  • Meslek Web Yazılım Uzmanı
  • Konum İstanbul Anadolu
  • Ad Soyad F** K**
  • Mesajlar 833
  • Beğeniler 0 / 287
  • Ticaret 13, (%100)

ramazankonur adlı üyeden alıntı

sadece sil butonunu gizlemek yetmez.silme sorgusundada kişiyi kontrol ettirmen lazım.yoksa id yi bilen birisi get değeri göndererek yine siler



sil butonunu koymaması yeterli. Çünkü silme fonksiyonu bastığında çalışacak. Sil olmadığını fonksiyon tetiklenmeyecek ayrıca get değil post kullanırsanızda problem kalmaz ajax'la :) Ayrıca parametre gönderirken silme yetkisi var mi yok mu diye de kontrol eklenirse dışarıdan müdahele edilemez.
 

 

wmaraci
wmaraci

Exor Exor WM Aracı Kullanıcı
  • Üyelik 07.11.2013
  • Yaş/Cinsiyet 38 / E
  • Meslek Web&Grafik Tasarım
  • Konum Samsun
  • Ad Soyad B** B**
  • Mesajlar 169
  • Beğeniler 16 / 7
  • Ticaret 0, (%0)
Cevabı almış oldum. Takıldığım yerlerde sorduğum sorulara cevap verecek insanların olması çok güzel. PHP bilgimin %30unu sizler sayesinde kazandım. Teşekkür ederim.
 

 

wdrleo wdrleo Back-end Developer Kullanıcı
  • Üyelik 12.04.2015
  • Yaş/Cinsiyet 29 / E
  • Meslek Full-stack Developer
  • Konum Konya
  • Ad Soyad H** A**
  • Mesajlar 226
  • Beğeniler 39 / 81
  • Ticaret 14, (%100)
Eğer ki sadece bir kullanıcı için bunu yapacaksınız ve bu id si 1 olan kullanıcı olacaksa yeni bir alan tanımlamanıza gerek yok.

Silme sorgusunda

DELETE FROM users WHERE id = $silinecekid && id != 1
yazmanız yetecektir.

Sil butonunun gözükmesini istemezseniz de döngü içerisinde şu şekilde bir kullanım yapabilirsiniz;


$db->query('SELECT * FROM users ORDER BY id ASC');
while($data = $db->fetch_array())
{
echo 'Düzenle '.(($data['id']!=1)?'SilSil':'').' ';
}
Exor

kişi bu mesajı beğendi.

Site Ayarları
  • Tema Seçeneği
  • Site Sesleri
  • Bildirimler
  • Özel Mesaj Al