PDA

View Full Version : فرم لاگین



m2info
جمعه 01 دی 1391, 20:51 عصر
سلام
لطفا کمک کنید
من در vb.net 2010 می خوام یک برنام ساده بنویسم
فرم لاگین : نام کاربری و رمز عبور بگیره و چند تا چیز چک کنه
اول اینکه اصلا این نام کاربری در دیتابیس وجود دارد
اگر ندارد پیغام دهد
اگر دارد پسورد وارد شده را چک کند که برای ان نام کاربری هست یا خیر
اگر هست یک فرم دیگر نمایش دهد و اگر نیست پیغام خطا دهد.

برای دیتا بیس از sql server استفاده می کنم express

اگر لطف کنید برنامه نمونه لاگبن برام بزارید خیلی ممنون می شم من تازه برنامه نویسی شروع کردم

mina_2013
جمعه 01 دی 1391, 21:35 عصر
سلام
سعی کن که خودت این کار را انجام بدی
1- اول نیاز به یک فرم ساده داری
2- یک دیتا بیس ساده
3- در SQL هم یک پراسجر ساده که یک ID دریافت کنه و جستجو را انجام بده
4- یک Connection به دیتا بیس
5- در فرمی که ساختی در قسمت کد یک متد داشته باش که نام کاربری و رمز را بگیره و به عنوان پارامتر به SQL ارسال کنه و براساس نتیجه ای که پراسیجر برمی گردونه پیغام را به کاربر نمایش میده

این ساده ترین حالتش

kingdaniyal
جمعه 01 دی 1391, 21:51 عصر
آقا منم به این کار نیاز دارم اگه کسی بلده لطفا کد هارو با آموزشش همینجا بزاره ممنون میشم

m2info
جمعه 01 دی 1391, 22:05 عصر
منم فارسیشو بلدم بانکم ساختم فرمم ساختم ولی کدشو بلد نیستم
اگر بلد هستید لطفا نمونه بدید

arash020
جمعه 01 دی 1391, 22:46 عصر
سلام
این کد فرم لاگین یکی از پروژه های دانشگاهیم بود...
شسته رفته نیست,ولی میتونه کمک کنه...
Imports System.IO
Public Class login

Public pcc As New Globalization.PersianCalendar
Public ls, rs, bs As Boolean
Public userlogin As String
''==================
Public conn_str = "provider=SQLOLEDB;Data Source=.;Initial Catalog=taxibase;Integrated Security=SSPI"
Public conn_str2 = "Data Source=.;Initial Catalog=taxibase;Integrated Security=SSPI"
''==================
Public user, user_cod As String
Public unp, unn As String

Private Sub Glass_in_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Glass_in.Click
If namfam.Text = "" Then
MsgBox(".لطفا نام و نام خانوادگی خود را وارد نمایید", MsgBoxStyle.Exclamation)
namfam.Select()
Exit Sub
End If
If un.Text = "" Then
MsgBox(".لطفا نام کاربری خود را وارد نمایید", MsgBoxStyle.Exclamation)
un.Select()
Exit Sub
End If
If Pas.Text = "" Then
MsgBox(".لطفا رمز عبور خود را وارد نمایید", MsgBoxStyle.Exclamation)
Pas.Select()
Exit Sub
End If
If Val(cunt.Text) = 5 Then
System.Diagnostics.Process.Start("ShutDown", "/l")
End If
'=========
Dim ch1() As Byte = System.Text.Encoding.ASCII.GetBytes(un.Text)
unn = Convert.ToBase64String(ch1) ' رمز گذاری نام کاربری
'----
Dim ch2() As Byte = System.Text.Encoding.ASCII.GetBytes(Pas.Text)
unp = Convert.ToBase64String(ch2) ' رمز گذاری پسورد
'========= رمزگشایی =======
'Dim ch() As Byte = Convert.FromBase64String(rd.Item("un").ToString.Trim)
'Dim ch2() As Byte = Convert.FromBase64String(rd.Item("pass").ToString.Trim)
'==============================
Dim sqlString As String = "select User_cod,name,type,active from users where name='" + namfam.Text + "' and un='" + unn + "' and pass='" + unp + "' and active='" + "فعال" + "'"
'MsgBox(sqlString)
Using conn As New OleDb.OleDbConnection(conn_str)
conn.Open()
Dim com As New OleDb.OleDbCommand(sqlString, conn)
Dim rd As OleDb.OleDbDataReader = com.ExecuteReader
If rd.HasRows Then
rd.Read()
Pic.Image = My.Resources.openi
Pic.Refresh()
user_cod = rd.Item("User_cod").ToString.Trim
userlogin = rd.Item("type").ToString.Trim

user = namfam.Text + "::" + un.Text + "::" + userlogin.Trim
'---------
Dim sqlString00 As String = "select * from ajans"
Using con As New OleDb.OleDbConnection(conn_str)
con.Open()
Dim com2 As New OleDb.OleDbCommand(sqlString00, con)
Dim rd2 As OleDb.OleDbDataReader = com2.ExecuteReader
If rd2.HasRows = False Then
MsgBox(".لطفا اطلاعات موسسه را وارد نمایید", vbOK)
ajhans.ShowDialog()
Exit Sub
End If
End Using
'---------

Me.Hide()
master.Show()
Else
Pic.Image = My.Resources._0583
cunt.Text = Val(cunt.Text) + 1
Label5.Visible = True
namfam.Select()
End If
conn.Close()
End Using
End Sub

Private Sub login_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
InputLanguage.CurrentInputLanguage = InputLanguage.FromCulture(New System.Globalization.CultureInfo("Fa"))
End Sub

Private Sub namfam_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles namfam.KeyPress
Dim s = "اآبپتثجچحخدذرزژسشصضطظعغفق کگلمنوهیةؤإأءۀًٌٍَُِ "
If e.KeyChar <> "" Then
If s.IndexOf(e.KeyChar) < 0 Then
e.Handled = True
End If
Else
e.Handled = True
End If
End Sub

Private Sub namfam_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles namfam.KeyUp
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub

Private Sub un_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles un.KeyUp
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub

Private Sub Pas_KeyUp(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs) Handles Pas.KeyUp
If e.KeyCode = Keys.Enter Then
SendKeys.Send("{Tab}")
End If
End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim dayss As String
Dim daysd As String = ""
dayss = pcc.GetDayOfWeek(Now)
Select Case dayss
Case 0
daysd = "یکشنبه"
Case 1
daysd = "دو شنبه"
Case 2
daysd = "سه شنبه"
Case 3
daysd = "چهار شنبه"
Case 4
daysd = "پنج شنبه"
Case 5
daysd = "جمعه"
Case 6
daysd = "شنبه"
End Select
Label1.Text = DateAndTime.TimeOfDay
Label2.Text = daysd + " " + (pcc.GetYear(Now)).ToString + "/" + (pcc.GetMonth(Now)).ToString + "/" + (pcc.GetDayOfMonth(Now)).ToString

End Sub

Private Sub Glass_out_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Glass_out.Click
End
End Sub

Private Sub namfam_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles namfam.TextChanged
Label5.Visible = False
End Sub

Private Sub login_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Label1.Parent = Me
Label1.BackColor = Color.Transparent
Label2.Parent = Me
Label2.BackColor = Color.Transparent
Label3.Parent = Me
Label3.BackColor = Color.Transparent
Label4.Parent = Me
Label4.BackColor = Color.Transparent
PasswordLabel.Parent = Me
PasswordLabel.BackColor = Color.Transparent
UsernameLabel.Parent = Me
UsernameLabel.BackColor = Color.Transparent
PictureBox1.Parent = Me
PictureBox1.BackColor = Color.Transparent
Pic.Parent = Me
Pic.BackColor = Color.Transparent
End Sub

Private Sub un_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles un.TextChanged
Label5.Visible = False
End Sub

Private Sub Pas_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Pas.TextChanged
Label5.Visible = False
End Sub
End Class

m2info
جمعه 01 دی 1391, 23:06 عصر
ممنون
ولی من OleDb نمی خوام sql می خوام
یکی این برنامه ساده رو بزاره مثلا این همه مهندس اینجاست

arash020
شنبه 02 دی 1391, 00:50 صبح
پست قبلیم رو ویرایش کردم

ehsan-68
شنبه 02 دی 1391, 08:46 صبح
سلام ...
من از این کد استفاده میکنم ... فقط اینم بگم که چون برایه اتصالات دیتابیسم کلاس نوضتم پس لازمه یکسری تغییرات داخل کد بدین ولی کمکتون میکنه ..


If UsernameTextBox.Text = "" Or PasswordTextBox.Text = "" Then
MessageBox.Show(" لطفاً نام کاربری و کلمه عبور را وارد کنید ", " !اخطار ", MessageBoxButtons.OK, MessageBoxIcon.Error)
Else
Try
Dim isValidUname As Boolean
isValidUname = rwd.checkUserPass("SELECT * FROM Users where usercod='" & UsernameTextBox.Text & "' and pass='" & PasswordTextBox.Text & "'")
If isValidUname = True Then
Me.Hide()
Me.DialogResult = System.Windows.Forms.DialogResult.OK

Dim myrow As DataRow = rwd.dset.Tables("Tsetting").Rows(0)
If myrow("hello") = True Then
frmhello.Show()
Else
Mainform.Show()
End If

End If
Finally
End Try
End If


در ضمن شما سعی کن خودت کدرو بنویسی هرکجا خطا داد از بچه های تالار بپرسی اینجوری بهتره به یادگیریتون بیشتر کمک میکنه تا اینکه کدو دوستان از پایه براتون بذاررن و شما کپی پیست بکنی ...

ehsan-68
شنبه 02 دی 1391, 08:53 صبح
اینم فانکشن بررسیه صحت کاربری و پسورد که در کلاس نوشتم ...


''' <summary>
''' بررسی یوزر نیم و پسورد که اگر تطبیق
''' کرد مقدار ترو در غیر اینصورت فالس برمیگرداند
''' </summary>
''' <param name="selectcommand">دستور سلکت مشروط</param>
''' <returns></returns>
Public Function checkUserPass(ByVal selectcommand As String) As Boolean
connection = Nothing
connection = New SqlConnection(strConnection)
command = New SqlCommand()
command.Connection = connection
connection.Open()
command.CommandText = selectcommand
datareader = command.ExecuteReader()
If [error] = 2 Then
MessageBox.Show("!متاسفم,شما 3 نام کاربری یا پسورد اشتباه وارد کردید", "اخطار در تعداد وارد کردن نام کاربری و کلمه عبور", MessageBoxButtons.OK, MessageBoxIcon.Warning)
Application.Exit()
End If
If datareader.HasRows Then
Return True
Else
[error] += 1
MessageBox.Show("!نام کاربري يا کلمه عبور وارد شده فاقد اعتبار است ", "خطا", MessageBoxButtons.OK, MessageBoxIcon.Error)
LoginForm1.UsernameTextBox.Text = ""
LoginForm1.PasswordTextBox.Text = ""
LoginForm1.UsernameTextBox.Focus()
End If
datareader.Close()
connection.Close()
Return False
End Function


در ضمن میزان تکرار استباه را هم نشون میده ...