• 0
lina

كود اسم المستخدم وكلمة المرور

سؤال

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

أخواني الأغضاء و المشرفين على المنتدى ... .

أرجو منكم مساعدتي في إيجاد كود يقوم بعمل اختبار لاسم المستخدم و كلمة المرور في فيجوال بيسك دوت نت مربوط بقاعدة بيانات في برنامج الأكسس .

الفورم مكون من 2 تيكت بوكس ( user_name , password )

2 زر button ( موافق و إلغاء الأمر ) .

بحيث عندما يدخل اسم المستخدم وكلمة المرور يقوم النظام بفحصها و التأكد منها لغاية 3 محاولات إدخال ، وبعدها يقوم برفض الدخول إلا بعد 15 دقيقة ..

أرجو منكم مساعدتي .. فالأمر مستعجل ،

و لكم مني جزيل الشكر ، و جزيتم خيرا ...

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه

13 إجابة على هذا السؤال .

  • 0

راجع هذه المشاركة

http://www.arabteam2000-forum.com/index.php?showtopic=67419#

الكود مكتوب ال#C و لكن لن يختلف كثيرا عن الVB

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

يمكنك اضافة timer بقيمة 15000 و تقوم بعمل Enable له بعد المرة الثالثة و في نفس الوقت تعمل Disable للForm كلها و في الEvent الخاص بالTimer اعمل Enable مرة اخرى للForm

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا جزيلا لك أخي bashmohandes على سرعة ردك ..

وعموما انا اعمل على الكود الان و سأوافيك بالنتيجة التي ستظهر لي .

تحياتي لك

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

انظر الى الوصلة التالية يوجد بها مثال على التحقق من كلمة المرور مع صلاحيات المستخدم

مثال على صلاحيات المستخدم

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0
السلام عليكم

انظر الى الوصلة التالية يوجد بها مثال على التحقق من كلمة المرور مع صلاحيات المستخدم

مثال على صلاحيات المستخدم

لقد جربت هذا الكود مسبقا أخي وليد ..

لكن لم يضبط معي

الجدول ا`ي بقاعدة البيانات لدي ه, users والمفتاح الأساسي به هو الحقلين username,password ..

والمستخدمين عددهم 2 للنظام ...

ارجو مساعدتي بالحل و جزاكم الله خيرا .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم

اذا كنت تريدين التحقق من كلمة السر و اليوزر نيم في قاعدة البيانات فالطريقة المثلى هي جمل ال sql

و انا كنت قد عملت مثال لهذا لكني استخدمت قاعدة بيانات من نوع sql server لكن كما تعلمين نفس الأوامر تشتغل حتى مع الأكسس

اولا تقومين بفتح اتصال مع قاعدة البيانات

Public SqlConString As String = ""Provider=Microsoft.Jet.OLEDB.4.0;Data SOURCE=" & App.Path & "\Data.mdb"

   Public SqlCon As New SqlConnection(SqlConString)

--- أنا غير متأكد من صحة سطر ConnectionString لأني كتبته مباشرة دون تجربته على كل ضعي فيه الجملة التي تستعملينها

هكذا نقوم بانشاء كونكشن مع قاعدة البيانات

الجزء الثاني هو أن نقوم بعمل جملة sql تقوم بأخذ فقط التسجيلات التي توافق فيها كلمة السر و اليوزرنم المعلومات المدخلة من طرف المستعمل و من ثم وضع النتائج في DataTable و اذا كان عدد ال Rows في

ال DataTable =0 اذا فالمستعمل اما أدخل اسما خاطئا أو انه غير موجود أصلا أما اذا أرجع لنا عددا غير الصفر فالمستعمل موجود و ذلك يكون كالتالي

 SqlCon.Open()
       Dim sqlC As New SqlCommand("SELECT * from [Users] Where [User Name] LIKE '" & Me.UsernameTextBox.Text & "' And PassWord LIKE '" & Me.PasswordTextBox.Text & "'", SqlCon)
Dim DataT As New DataTable
       Dim SqlD As New SqlDataAdapter()
       SqlD.SelectCommand = sqlC
       DataT.Clear()
       SqlD.Fill(DataT)
       SqlCon.Close()

قمنا أولا بفتح الكونكشن التي أنشأناها ثم عمل كومند من أجل الفلترة بحسب اسم المستعمل و الباسوورد

ثم ننشئ DataTable جديدة و SqlDataAdapter أيضا و التي ستأخذ مباشرة المعلومات من قاعدة البيانات

و ستملأ الDataTable بها عن طريق أمر SqlD.Fill(DataT)

بعد ذلك نقفل طبعا الكونكشن

الآن حصلنا على المعلومات من قاعدة البيانات ووضعناها في ال DataTable

الخطوة الأخيرة هي التأكد من المعلومات المرجعة الينا و هل المستخدم موجود أم لا و ذلك عن طريق الكود التالي

 If DataT.Rows.Count = 0 Then
           MsgBox "User Not Found, Please Try Again"
Else
MsgBox "User Found :)"
End If

آه كدت أنسى ال NameSpaces التي ستحتاجينها هي :

Imports System.Data.SqlClient
Imports system.Data

أتمنى أن يكون هذا ما تريدين

و اذا كان لديك اي سؤال فأنا تحت أمرك

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

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

شكرا لك أخي crazy-man على تعاونك معي ..

وإن شاء الله اجرب الكود الحين و برد عليك بالي يصير معي ..

تقبل تحياتي .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

عند استخدام Microsoft.Jet كـ Provider فيجب استخدام OleDbConnection ، OleDbCommand ، OleDbDataAdapter ،ويكون الـ NameSpace المطلوب هنا هو System.Data.OleDb

اما SqlConnection ، SqlCommand ، SqlDataAdapter فهذه تستخدم مع قواعد بيانات Sql Server ، ويكون الـ NameSpace المطلوب هنا هو System.Data.SqlClient

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

baraka ellah fik akhi ENNAHRAWI

elmochkila bass tassmiyyat attmanna inn elkod echtaghal m3a el okht LINA

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

وبارك الله فيك يا أخي

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

أخواني الأفاضل ، لقد قمت بتجربة جميع الاكواد السابقة لكن للأسف ولا واحد لم ينجح معي ..

الاتصال الذي اقوم به يكون من الادوات الموجودة في البرنامج .. أي :

add connection ثم متابعة خطوات المعالج بربط قاعدة بيانات أكسس بالبرنامج . ثم القيام بعمل oledbdataadapter ثم عمل dataset عن طريق الضغط بالزر الأيمن على adapter السابقة و اختيار generate dataset ..

هذه هي طريقة الاتصال التي اتبعها ..

أما عن قاعدة البيانات فهناك جدول اسمه user وبه الحقلين user_name و الحقل pass الذي هو المفتاح الاساسي

واسم المستخدم و كلمة المرور الخاصة بالبرنامج هي : vb و كلمة المرور هي : 123

أرجو مساعدتي ولكم جزيل الشكر ..

وآسف على ازعاجكم .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

المنتدى ملئ بهذا السؤال و جوابه

شاشة كلمة السر, sqlserver للعمل مع ال SQL Server

تعليق على الكود التالى

Dim sqlC As New SqlCommand("SELECT * from [Users] Where [User Name] LIKE '" & Me.UsernameTextBox.Text & "' And PassWord LIKE '" & Me.PasswordTextBox.Text & "'", SqlCon)

لماذا ال Like من الافضل حذفها لانها ستعيد كل الاسماء التى تشابه الاسم المدخل و ليس قيمة واحدة

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
  • 0

السلام عليكم ..

اخواني جزاكم الله خيرا ..

لقد قمت بتجربة الاكواد السابقة . ونجح معي الكود الذي قام الاخ محمد عبد العليم ..

مثال:

أضف Module لمشروعك و سمه MainStartUp ، ثم أكتب بداخل الـ Sub Main اجراءات فتح فورم الباسوورد، ثم التأكد من صحة الباسوورد من خلال الضغط على الـ Button المخصص لذلك الموجود على فورم الباسوورد، و من ثم غلقها و فتح الفورم الرئيسية، أنظر الكود:

كود الـ Button :

CODE Public Const passText As String = "arabteam"

Private Sub btnEnter_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnEnter.Click

If txtPassword.Text <> passText Then

MessageBox.Show("Wrong Password!, please try again.", "Wrong Password!", MessageBoxButtons.OK, MessageBoxIcon.Error)

txtPassword.Focus()

txtPassword.SelectAll()

Return

Else

MainStartup.rightPassword = True

Me.Close()

Me.Dispose()

End If

End Sub

كود الـ Module :

CODEModule MainStartup

Public rightPassword As Boolean

Public Sub Main()

Dim Password As New frmPassword()

Password.ShowDialog()

If rightPassword = True Then

Dim mainForm As New frmMain()

mainForm.Text = "Welcome back " & Password.passText

Application.Run(mainForm)

End If

End Sub

End Module

بهذه الطريقة لن نزحم الذاكرة بوجود فورم لا نحتاجها الا مرة واحدة في بداية التطبيق فقط...

إذا لم تستخدم Module لتضع به الـ Sub Main الخاصة بالمشروع، فعليك أن تضيف كلمة Shared عندما تعرف الـ Sub Main :

CODEPublic Shared Sub Main()

'Code

End Sub

و يمكنك طبعاً أن تضع هذه الـ Sub Main في أي مكان بالمشروع سواءً في الفورم الرئيسية أو أي Class

المثال بالأعلى مرفق..

فجزاكم الله خيرا عني .

0

شارك هذا الرد


رابط المشاركة
شارك الرد من خلال المواقع ادناه
زوار
This topic is now closed to further replies.

  • يستعرض القسم حالياً   0 members

    لا يوجد أعضاء مسجلين يشاهدون هذه الصفحة .