منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
عدد محاولات تسجيل الدخول - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : عدد محاولات تسجيل الدخول (/showthread.php?tid=48223)

الصفحات: 1 2


عدد محاولات تسجيل الدخول - محمد خيري - 11-04-24

السلام عليكم و رحمة الله 
عيد فطر مبارك للجميع ان شاء الله
اخواني هذا ملف تسجيل الدخول وجدته عل اليوتوب
لو سمحتم كيف اضيف بالفورم login عدد تسجيل الدخول بثلاثة محاولات فقط و بعد ثلاثة محاولات يتم الخروج من البرنامج مع تسجيل عدد المحاولات المتبقية بالتاكست بوكس 1 و بارك الله فيكم


RE: عدد محاولات تسجيل الدخول - Taha Okla - 12-04-24

وعليكم السلام ورحمة الله وبركاته :
عيدكم مبارك ..

عدل الكود التالي :

كود :
   Public tPwd As Int16 = 0
   Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click

       If cboUser.Text = "" Then cboUser.Focus() : Exit Sub
       If txtPass.Text = "" Then txtPass.Focus() : Exit Sub
       If Check_user() = False Then
           MsgBox("كلمة المرور لهذا المستخدم غير صحيحة", MsgBoxStyle.Critical, "رسالة خطأ")
           tPwd += 1
           TextBox1.Text = 3 - tPwd
           If tPwd = 3 Then FRM_mainmenu.Close()
           '  Exit Sub
       End If



RE: عدد محاولات تسجيل الدخول - محمد خيري - 12-04-24

شكرا جزيلا أخ Taha Okla 
بارك الله فيك على المساعدة و عيد مبارك يا رب
لم تضبط اخي طه و يتم الخروج نهائيا مع أول محاولة خاطئة


RE: عدد محاولات تسجيل الدخول - Taha Okla - 12-04-24

هذا الكود كاملاً ..

كود :
Public tPwd As Int16 = 0
Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click

   If cboUser.Text = "" Then cboUser.Focus() : Exit Sub
   If txtPass.Text = "" Then txtPass.Focus() : Exit Sub
   If Check_user() = False Then
       MsgBox("كلمة المرور لهذا المستخدم غير صحيحة", MsgBoxStyle.Critical, "رسالة خطأ")
       tPwd += 1
       TextBox1.Text = 3 - tPwd
       If tPwd = 3 Then FRM_mainmenu.Close()
       '  Exit Sub
   End If
   'تعريف متغير لجملة الاستعلام

   Dim sql = "select * from user_data WHERE user_name='" & cboUser.Text & "'"
   'تشييد موصل البيانات داتا ادبتر
   Dim Adp = New OleDb.OleDbDataAdapter(sql, DBConn)
   'تشيد مجموعة البيانات
   Dim ds = New DataSet
   'ملىء مجموعه البيانات
   Adp.Fill(ds)
   'وضع الجدول في كائن من نوع جدول
   Dim dt = ds.Tables(0)
   If dt.Rows.Count > 0 Then
       Dim dr As DataRow
       dr = dt.Rows(0)

       SavePermission = dr!Save_
       UpdatePermission = dr!Update_
       DeletePermission = dr!Delete_
       PrintPermission = dr!Print_
       FRM_mainmenu.btn_Stock.Enabled = dr!Stock_Scr
       FRM_mainmenu.btn_Accounting.Enabled = dr!Accounting_Scr
       FRM_mainmenu.btn_Invoice.Enabled = dr!Invoice_Scr
       FRM_mainmenu.btn_Voucher.Enabled = dr!Voucher_Scr
       FRM_mainmenu.btn_Report.Enabled = dr!Report_Scr
       FRM_mainmenu.btn_Users.Enabled = dr!Users_Scr
       UserName = dr!user_name
       FRM_mainmenu.currentUser.Text = UserName

       Adp.Dispose()
       ds.Dispose()
       dt.Dispose()
       Me.Close()


   End If




End Sub



RE: عدد محاولات تسجيل الدخول - محمد خيري - 12-04-24

هل جربته اخي طه بعد اذنك لديك على الملف .. لانه نفس المشكلة حتى و لو كتبت كلمة المرور خاطئة في المرة الأولى ستختفي الفورم Login بشكل عادي


RE: عدد محاولات تسجيل الدخول - Taha Okla - 12-04-24

فقط أعد تفعيل الـ ('  Exit Sub) إلى (Exit Sub)

كود :
   Public tPwd As Int16 = 0
   Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click

       If cboUser.Text = "" Then cboUser.Focus() : Exit Sub
       If txtPass.Text = "" Then txtPass.Focus() : Exit Sub
       If Check_user() = False Then
           MsgBox("كلمة المرور لهذا المستخدم غير صحيحة", MsgBoxStyle.Critical, "رسالة خطأ")
           tPwd += 1
           TextBox1.Text = 3 - tPwd
           If tPwd = 3 Then FRM_mainmenu.Close()
           Exit Sub
       End If
       'تعريف متغير لجملة الاستعلام

       Dim sql = "select * from user_data WHERE user_name='" & cboUser.Text & "'"
       'تشييد موصل البيانات داتا ادبتر
       Dim Adp = New OleDb.OleDbDataAdapter(sql, DBConn)
       'تشيد مجموعة البيانات
       Dim ds = New DataSet
       'ملىء مجموعه البيانات
       Adp.Fill(ds)
       'وضع الجدول في كائن من نوع جدول
       Dim dt = ds.Tables(0)
       If dt.Rows.Count > 0 Then
           Dim dr As DataRow
           dr = dt.Rows(0)

           SavePermission = dr!Save_
           UpdatePermission = dr!Update_
           DeletePermission = dr!Delete_
           PrintPermission = dr!Print_
           FRM_mainmenu.btn_Stock.Enabled = dr!Stock_Scr
           FRM_mainmenu.btn_Accounting.Enabled = dr!Accounting_Scr
           FRM_mainmenu.btn_Invoice.Enabled = dr!Invoice_Scr
           FRM_mainmenu.btn_Voucher.Enabled = dr!Voucher_Scr
           FRM_mainmenu.btn_Report.Enabled = dr!Report_Scr
           FRM_mainmenu.btn_Users.Enabled = dr!Users_Scr
           UserName = dr!user_name
           FRM_mainmenu.currentUser.Text = UserName

           Adp.Dispose()
           ds.Dispose()
           dt.Dispose()
           Me.Close()


       End If




   End Sub



RE: عدد محاولات تسجيل الدخول - محمد خيري - 12-04-24

تمام اخ طه ربنا يبارك فيك ان شاء الله و يزيدك من علمه و فضله ان شاء الله


RE: عدد محاولات تسجيل الدخول - justforit - 12-04-24



هذا تعديلي على المثال وفق الفكرة اللتي فهمتها
اضفت عمود باسم noa اختصار عدد مرات المحاولة
اضفت  دالة لجلب القيمة المخزنة و مقارنتها بما هو مكتوب بـ TextBox1
كما عدلت على كود التحقق  بحيث اذا كلمة المرور خاطئة يقوم باضافة رقم بمقدار +1 للحقل المخصص وهو noa 
و المثال بسيط ارجو ان يكون فيه المطلوب ولو بصورة اخرى
كل عام و انتم بخير



RE: عدد محاولات تسجيل الدخول - محمد خيري - 12-04-24

شكرا جزيلا اخي justforit عيد مبارك كل عام و انت بالف خير يا رب
فكرة رائعة من خلال ما فهمته لاني لم اتمكن من تطبيقها من الملف لاني حتى و لو كتبت كلمة المرور صحيحة منذ المرة الاولى تظهر رسالة لقد تجاوزت العدد المسموح به لو ممكن بعد اذنك تشوفلي الخلل وين و بارك الله فيك


RE: عدد محاولات تسجيل الدخول - Taha Okla - 12-04-24

أدخل على قاعدة البيانات ..
الحقل الاخير من الجدول (noa)
هذا الحقل يسجل فيه عدد مرات تسجيل الدخول الخاطئة ..
كي يعمل معك البرنامج بثلاث محاولات أذهب وصفر القيم الموجودة في هذا الحقل..
--
فإذا تجاوز الثلاث مرات يمنعه منعاً نهائياً من الدخول مرة أخرى..

- إذا أردت له فقط ثلاث محاولات خاطئة لا غير : عليك بهذه الطريقة.

- واذا أردت السماح له مع كل تشغيل للبرنامج ثلاث محاولات، عليك بالطريقة الأولى..