ورود

View Full Version : سوال: مشکل در گرفتن مقدار در Session



omidghadiri
پنج شنبه 19 شهریور 1388, 22:57 عصر
با عرض سلام


دوستان من مشکلی دارم در Session ها برای مقدار دهی


من برای سایتم دو دسترسی گذاشتم و اگر به جز این دو دسترسی وارد سایت بشه یعنی اگر لینک یا همون آدرس صفحه رو بزنه وارد صفحه یوزر وپسورد بشه و این دودسترسی یکی ادمین و یکی دیگه یوز هست ، خیلی جستجو کردم و همون کارا رو کردم ولی دیگه مقداری به Session پاس نمیشه


من در قسمت صفحه شناختن اشخاص برای دکمه ورود این کد هاروگذاشتم


ProtectedSub Button1_Click(ByVal sender AsObject, ByVal e As System.EventArgs) Handles Button1.Click
Dim txtConnectionString AsString = "Data Source=.;Initial Catalog=security ; Persist Security Info=True ; User ID=ss; Password=aaa&"
Dim con AsNew SqlConnection(txtConnectionString)
con.Open()
Dim com AsString
com = "select id,user_name,pass,pres from sec where user_name='" + Me.t1.Text + "'"
Dim ds AsNew DataSet()
Dim dap AsNew SqlDataAdapter(com, con)
dap.Fill(ds)
Dim co AsInteger
co = ds.Tables(0).Rows.Count
If (co <> 0) Then
Me.TextBox1.Text = ds.Tables(0).Rows(0)("user_name").ToString()
Me.TextBox2.Text = ds.Tables(0).Rows(0)("pass").ToString()
Me.T3.Text = ds.Tables(0).Rows(0)("pres").ToString()
con.Close()


If (T3.Text = "Admin") Then
Session("login") = "ad"
Me.Response.Redirect("orginal_Admin.aspx")
Else


If (T3.Text = "User") Then
Session("login") = "o"
Me.Response.Redirect("Choose.aspx")
EndIf
EndIf


و به عنوان مثال من برای یک صفحه ای که تنها کاربران معمولی وارد میشن این کد رو در لود صفحه گذاشتم :

If (Session("login") = "nothing") Then
Me.Response.Redirect("user_login.aspx)"
end if

ومن دکمه ای گذاشتم که زمانی که اون دکمه به نام خروج از سیستم رو زد متغیر Session("login") مساوی با Nothing بشه

وکدی که گذاشتم برای این دکمه این هست :

Session("login") = Nothing


Me.Response.Redirect("user_login.aspx")




تبدیل نمیشهNothing و مشکل من اینجاست که وقتی دکمه رو میزنم دیگه تبدیل نمیشه و به





لطفا کمکم کنید که چه کاری کنم که این رویداد اتفاق بیفته و Session مقدارش عوض بشه

kashaneh
پنج شنبه 02 مهر 1388, 12:55 عصر
دوست عزیز شما در پایان کار خود به چه دلیل مقادیر Session را با استفاده از متد Abandon از بین نمی برید؟ به این ترتیب هر وقت مقدار Session ورود یعنی login را چک می کنید اگر این Session یکی از مقادیر درخواستی شما را داشته باشد به صفحات مربوطه هدایت می شود و اگر هم وجود نداشته باشد که می توانید متوجه شوید کاربر قبلا یا log out کرده یا اصلا وارد نشده...
ضمن اینکه از نظر فنی به هیچ وجه صلاح نیست تعداد Session ها در سایت شما بدون کنترل افزایش یابند...

نکته پایانی اینکه در جایی که نوشتین

Session("login") = Nothing
باید به اینصورت تغییر دهید :

Session("login") = "Nothing"

موفق باشی