Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
while ile sifre kontrolunu nasıl yapabilirim.
#1
veritabanın aldıgım kullanıcıadı ve sifreyi 3 kez yanlış girilirse programı kapatması istiyorum.Şöyle bir sey denedim ancak calışmıyor.
Ll0v8z.png
Cevapla
#2
Say değişkenini arttıran kod yok. Her zaman 0 oluyor böyle yazarsan.

Say değişkenini her denemede bir arttırman gerekiyor. Yani

 
say:=say+1

 gibi.

İyi çalışmalar.
Yazılım Topluluğumuz -> Tıklayın
Kişisel Tanıtım Sitem -> Tıklayın
20 y/o, sadece öğrenmeye odaklanmış, insancık..
WWW
Cevapla
#3
procedure TForm1.Button1Click(Sender: TObject);
{$J+}
  const
    sayac: Byte = 1;
{$J-}
begin
  if (sayac<=3) then
  begin
    with ADOQuery1 do
    begin
      Active := False;
      SQL.Clear;
      SQL.Add('SELECT TOP 1 * FROM giris');
      SQL.Add('WHERE kadi=' + QuotedStr(Edit1.Text) );
      SQL.Add('AND ksif=' + QuotedStr(Edit2.Text) );
      Active := True;

      if RecordCount=1 then
      begin
        ShowMessage('TEBRIKLER...');
        Form2.ShowModal;
      end else
      begin
        ShowMessage('TEKRAR DENEYINIZ !!!');
        Inc(sayac);
      end;

    end; //WITH SONU

  end else
  Application.Terminate;

end;

Cevapla
#4
merhaba @burak arkadaşım,

nacizane bir iki tavsiyem olacak:

Her nekadar arkadaşlar cevabı net bi şekilde verselerde fazla bilgi göz çıkarmaz

P1zgp6.png

son olarak kodları daha anlaşılır yazarsan bu hem senin için hemde kodlara bakanlar veya düzenleyenler için büyük kolaylık sağlayacaktır.
örnek:
pbVLjJ.jpg

gibi ...

Amacım kırmak , işgüzarlık etmek ya da çokbilmişlik değil. Sadece fikir vermek yardımcı olmak -olabildiğimiz kadar-
Cevapla
#5
(03-03-2019, Saat: 01:32)burak Adlı Kullanıcıdan Alıntı: veritabanın aldıgım kullanıcıadı ve sifreyi 3 kez yanlış girilirse programı kapatması istiyorum.Şöyle bir sey denedim ancak calışmıyor.
Ll0v8z.png

Merhaba,


Madem şifre 3 defa hatalı girişe bile önlem alınmaya çalışıyor;

Şifre kontrolünü bu şekilde yapmamalısınız Kadi='''+edit1.text+''' parametre olarak göndermelisiniz yoksa injection'a maruz kalabilirsiniz.

İyi çalışmalar.
Cevapla
#6
(04-03-2019, Saat: 10:50)forumcuali Adlı Kullanıcıdan Alıntı: merhaba @burak  arkadaşım,

nacizane bir iki tavsiyem olacak:

Her nekadar arkadaşlar cevabı net bi şekilde verselerde fazla bilgi göz çıkarmaz

P1zgp6.png

son olarak kodları daha anlaşılır yazarsan bu hem senin için hemde kodlara bakanlar veya düzenleyenler için büyük kolaylık sağlayacaktır.
örnek:
pbVLjJ.jpg

gibi ...

Amacım kırmak , işgüzarlık etmek ya da çokbilmişlik değil. Sadece fikir vermek yardımcı olmak -olabildiğimiz kadar-

Merhaba,

Aslında hafta sonu ben de bu cevap için bir iki satır yazmış, ama sonradan yanlış anlaşılırım düşüncesiyle vazgeçmiştim. Madem @forumcuali bir şeyler yazdı, ben de yazayım:

- Kodda {$J+} gibi sadece uyumluluk amacı için eklenmiş bir derleyici direktifi kullanılıyor. Writeable Constant, adı üzerinde, biraz oksimoron bir tanım. Bunun doğrusu private bir değişken tanımlamak ve onu kullanmak
- Kodda ciddi bir SQL injection açığı var
- Çok kişisel bir yaklaşım, ama WITH kullanımını tavsiye etmiyorum. Hele de yazılan kodda ADOQuery1'in bazı değerlerine debug ederken bakmak isteyebilirsiniz.

Yukarıdaki maddeler bilen bir programcı için önemli değil, ama bu başlığı açan arkadaşın acemi olduğunu tahmin ediyorum, çünkü soru basit bir soru. Henüz yolun başında olan arkadaşlara da örnekleri daha doğru göstermek iyi olabilir.

İyi çalışmalar
Cevapla
#7
@Bahadir.Alkac arkadaşım bilen,tecrübeli arkadaşların -ne kadar önemsiz görünürse görünsün- kodlardaki açıkları veya iyileştirmeleri söylemeleri taraftarıyım...
ben bu tip önerilerden çok şey öğrendim;öğrenmeye devam ediyorum. Bununla birlikte şu dönemde insanlar çok kırılgan. Bunuda göz önünde bulundurarak yazıyorum,konuşuyorum... Size ve bilgilerini saklamadan bizimle paylaşan arkadaşlar çok teşkkür ediyorum...
Bir hatam olurda biri bunu bana söylerse; bence o benim en iyi dostumdur.
Cevapla
#8
Gördüğüm konu şu şekilde:

   
  • Lütfen Forma Resim Nasıl Yüklenir? konusuna bakın.
  • Kodlarınızı lütfen kod olarak paylaşın, resim olarak değil. 
  • Ayrıca 3 kere dene sonra break et bir 3 kere daha dene bana çok güvenlikli gelmedi. Deneme sayısını bir tabloda tutmalı, üç başarısız denemeden sonra şifreyi bloke etmelisiniz. Umarım şu andaki kodunuzun bir güvenlik önlemi olmadığının farkındasınızdır  Rolleyes
Cevapla
#9
- Sayın Başkan, sataşma var ve bu konuda söz almak istiyorum.
- Buyrun Deniz Bey, süreniz 3 dk.
- Teşekkür ederim Sayın Başkan.

- Sayın Başkan, saygı değer millet vekilleri; sözlerime başlamadan önce...
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Rsa anahtarında modulus nasıl çıkarılır. seci20 4 294 25-04-2020, Saat: 01:07
Son Yorum: seci20
Star Delphi projesinde WCF servisleri nasıl kullanılır? Abdullah ILGAZ 0 191 09-04-2020, Saat: 13:20
Son Yorum: Abdullah ILGAZ
  Chromium (CEF4) ile sayfa kaynağını veya javascript çalıştırıp dönen değeri nasıl? adeministrator 8 722 04-04-2020, Saat: 19:56
Son Yorum: Ahmet İPEKÇİ
  arkadaşlar 192.168.2.89 ip deki bir klasör içindeki dosyaları listeleme nasıl? sadikacar60 9 818 21-02-2020, Saat: 23:31
Son Yorum: mustafaozpinar
  Comport Haberleşme Nasıl Yapılır? glagher 6 1.164 06-02-2020, Saat: 00:53
Son Yorum: guverdik



Konuyu Okuyanlar: 1 Ziyaretçi