khz-web1
دوشنبه 21 بهمن 1387, 07:30 صبح
سلام
من لوگین رو خودم با استفاده از کد زیر انجام میدم
Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\poyesh.ir\App_Data\db.mdb")
Dim cmd As New OleDbCommand
Dim sql As String
sql = "select count(*) from registeruser where username=? and password=?"
cmd.Connection = con
cmd.CommandText = sql
cmd.Parameters.AddWithValue("username", TextBox2.Text)
cmd.Parameters.AddWithValue("password", TextBox3.Text)
Session("username1") = TextBox2.Text
con.Open()
If cmd.ExecuteScalar = 1 Then
FormsAuthentication.RedirectFromLoginPage(TextBox2 .Text, True)
Panel1.Visible = False
Label3.Text = "خوش آمدید کاربر" & Session("username1")
' Response.Redirect("default.aspx")
ElseIf cmd.ExecuteNonQuery = 0 Then
MsgBox("نام کابری غلط است", MsgBoxStyle.OkOnly, "خطا")
con.Close()
اما به چه صورت ...
ببینید دوستان ... من اگه بخوام از Login view استفاده کنم خوب متاسفانه login view با بعضی از عناصر مشکل داره (به عنوان مثال اگر من یک textbox داخل login view بزار ، دیگه ویژوال استدیو اون textbox رو نمیشناسه ... دلیلش هم نمیدونم )
من اومدم از کنترل panel واسه ی این کار استفاده کردم ... اما به چه صورت ...
وقتی کاربر اوگین کرد (فرض بر اینکه نام کاربری و رمز عبور خود را درست وارد کرده ) پنل غیر فعال میشه و label میاد به کاربر خوش آمد گویی میگه (توجه داشته باشید که label در کنترل panel نیست زیرا که با غیر فعال شدن panel صفحه، label هم حذف می شود) و در نهایت کاربر لوگین می شود ...
اما مشکل کارمن کجاست ...
اگر توی شرط من(کد پایین) دقت کنید گفتم که در صورتی که برابر 1 بود(یعنی چنین نام کاربری موجود بود) کوکی رو ذخیره کن و پنل panel رو غیر فعال کن سپس label رو برابر با نام کاربری قرار بده ...
con.Open()
If cmd.ExecuteScalar = 1 Then
FormsAuthentication.SetAuthCookie(TextBox2.Text, True)
Panel1.Visible = False
Label3.Text = "خوش آمدید کاربر" & Session("username1")
' Response.Redirect("default.aspx")
ElseIf cmd.ExecuteNonQuery = 0 Then
MsgBox("نام کابری غلط است", MsgBoxStyle.OkOnly, "خطا")
con.Close()
خوب حالا اگه کاربر بخواهد به عنوان مثال روی لینک همین صفحه(صفحه ای که در داخل آن هستیم) کلیک کند دوباره فرم ورود کاربران ظاهر می شود ... من می خوام کدی رو بنویسم که چک کند کاربر کوکی ذخیره کرده است در سیستم یا نه(منظورم اینکه کاربر لوگین کرده با نه) ، در صورتی که کوکی در سیستم ذخیره شده است panel غیر فعال شود و پیام خوش آمد گویی به کاربر بدهد ...
دوستان اگر روش دیگری را مد نظر دارند لطفا ارائه دهند
با تشکر
من لوگین رو خودم با استفاده از کد زیر انجام میدم
Dim con As OleDbConnection = New OleDbConnection("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\poyesh.ir\App_Data\db.mdb")
Dim cmd As New OleDbCommand
Dim sql As String
sql = "select count(*) from registeruser where username=? and password=?"
cmd.Connection = con
cmd.CommandText = sql
cmd.Parameters.AddWithValue("username", TextBox2.Text)
cmd.Parameters.AddWithValue("password", TextBox3.Text)
Session("username1") = TextBox2.Text
con.Open()
If cmd.ExecuteScalar = 1 Then
FormsAuthentication.RedirectFromLoginPage(TextBox2 .Text, True)
Panel1.Visible = False
Label3.Text = "خوش آمدید کاربر" & Session("username1")
' Response.Redirect("default.aspx")
ElseIf cmd.ExecuteNonQuery = 0 Then
MsgBox("نام کابری غلط است", MsgBoxStyle.OkOnly, "خطا")
con.Close()
اما به چه صورت ...
ببینید دوستان ... من اگه بخوام از Login view استفاده کنم خوب متاسفانه login view با بعضی از عناصر مشکل داره (به عنوان مثال اگر من یک textbox داخل login view بزار ، دیگه ویژوال استدیو اون textbox رو نمیشناسه ... دلیلش هم نمیدونم )
من اومدم از کنترل panel واسه ی این کار استفاده کردم ... اما به چه صورت ...
وقتی کاربر اوگین کرد (فرض بر اینکه نام کاربری و رمز عبور خود را درست وارد کرده ) پنل غیر فعال میشه و label میاد به کاربر خوش آمد گویی میگه (توجه داشته باشید که label در کنترل panel نیست زیرا که با غیر فعال شدن panel صفحه، label هم حذف می شود) و در نهایت کاربر لوگین می شود ...
اما مشکل کارمن کجاست ...
اگر توی شرط من(کد پایین) دقت کنید گفتم که در صورتی که برابر 1 بود(یعنی چنین نام کاربری موجود بود) کوکی رو ذخیره کن و پنل panel رو غیر فعال کن سپس label رو برابر با نام کاربری قرار بده ...
con.Open()
If cmd.ExecuteScalar = 1 Then
FormsAuthentication.SetAuthCookie(TextBox2.Text, True)
Panel1.Visible = False
Label3.Text = "خوش آمدید کاربر" & Session("username1")
' Response.Redirect("default.aspx")
ElseIf cmd.ExecuteNonQuery = 0 Then
MsgBox("نام کابری غلط است", MsgBoxStyle.OkOnly, "خطا")
con.Close()
خوب حالا اگه کاربر بخواهد به عنوان مثال روی لینک همین صفحه(صفحه ای که در داخل آن هستیم) کلیک کند دوباره فرم ورود کاربران ظاهر می شود ... من می خوام کدی رو بنویسم که چک کند کاربر کوکی ذخیره کرده است در سیستم یا نه(منظورم اینکه کاربر لوگین کرده با نه) ، در صورتی که کوکی در سیستم ذخیره شده است panel غیر فعال شود و پیام خوش آمد گویی به کاربر بدهد ...
دوستان اگر روش دیگری را مد نظر دارند لطفا ارائه دهند
با تشکر