الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

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

مغلق
بدأه lina في 2 يونيو 2005 · 13 رد · 16,602 مشاهدة · في Microsoft Visual Basic.NET
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

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

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

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

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

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

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

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

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

#2

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

/index.php?showtopic=67419#

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

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#3

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

Sr. Software Development Engineer
Hulu, LLC
My Blogs

#4

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

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

تحياتي لك

#5

السلام عليكم

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

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

{وَاتَّقُواْ يَوْمًا تُرْجَعُونَ فِيهِ إِلَى اللّهِ ثُمَّ تُوَفَّى كُلُّ نَفْسٍ مَّا كَسَبَتْ وَهُمْ لاَ يُظْلَمُونَ} (281) سورة البقرة

br17.gif

برنامج الإتصلات الإدارية والارشيف الالكتروني

برنامج الخبير لنقاط البيع المباشرة

#6
waleedhm كتب:
السلام عليكم

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

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

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

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

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

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

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

#7

السلام عليكم

اذا كنت تريدين التحقق من كلمة السر و اليوزر نيم في قاعدة البيانات فالطريقة المثلى هي جمل ال 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

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

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

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

#8

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

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

تقبل تحياتي .

#9

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

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

#11

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

#12

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

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

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

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

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

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

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

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

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

#13

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

شاشة كلمة السر, 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 من الافضل حذفها لانها ستعيد كل الاسماء التى تشابه الاسم المدخل و ليس قيمة واحدة

Technical Lead Developer

My LinkedIn Profile

اللهم قنى شر الجهل و الجهلاء

( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}

#14

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

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

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

مثال:

أضف 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

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

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

هذا الموضوع مغلق.

مواضيع مشابهة