PDA

View Full Version : مشکل در ایجاد صفحه ورود کاربران



alizanganeh
دوشنبه 12 دی 1390, 00:51 صبح
سلام
دارم سیستم ورود کاربران رو طراحی میکنم

این کد رو مینویسم و توش بوسیله sesion گفتم که اگر مقداری از ولان فیلد در بانک 0 بود یعنی طرف کاربر عادیه و فلان صفحه رو براش نمایش بده و اگر 1 بود یعنی مدیره و صفحه مدیریت براش نامایش داده بشه
ولی توی هر دو حال فقط صفحه کاربر عادی نمایش داده میشه
یعنی فقط دستور در شرطی که قرار کاربر عادی باشه اجرا میشه
مشکل چیه ؟


این کلا کد دکمه ی ورودمه :


Dim strUserName As String, strpassword As String
strUserName = txtname.Text.Trim()
strpassword = txtpass.Text.Trim()
Dim login As New SqlConnection("Data Source=.;Initial Catalog=Hoze;Integrated Security=True")
Dim cmd As New SqlConnection(login.ConnectionString)
Dim ad As New SqlDataAdapter("select * from karbar where ( username=@username and pass=@pass) ", login)
ad.SelectCommand.Parameters.AddWithValue("@username", Convert.ToString(strUserName))
ad.SelectCommand.Parameters.AddWithValue("@pass", Convert.ToString(strpassword))
login.Open()

Dim tbl As New DataTable
ad.Fill(tbl)
If tbl.Rows.Count > 0 And txtname.Text.Trim() <> "" And txtpass.Text.Trim() <> "" Then

Session.Add("1", tbl.Rows(0)("type").ToString)
If Session("type") = "0" Then
Response.Redirect("~\modir\MainAdmin.aspx")
Else

Response.Redirect("~\Mainuser.aspx")


End If
Else
lblmessage.Text = "اطلاعات صحیح نیست"
End If

ali_md110
دوشنبه 12 دی 1390, 01:19 صبح
Session.Add("type", tbl.Rows(0)("type").ToString)
If Session("type") = "0" Then
Response.Redirect("~\modir\MainAdmin.aspx")
Else

Response.Redirect("~\Mainuser.aspx")


End If
سلام دوست من
شما جلسه تون را با نام عدد یک ذخیره کردید و با نام type دارید صداش میزنید
Session.Add("1", tbl.Rows(0)("type").ToString)
If Session("type") = "0" Then
هردو شون یک نام داشته باشند واستون اطلاحش کردم
نکته:
دستورات کوئریتون بریزید دورن استورد پروسیجر اسکیول سرور این کاری که کردید ممکنه هک بشه با اسکیول اینجکشن
بعد همیشه جهت جستجو یا اتصال دادده ها در دیتاتیبل به کنترل اونو بزارید درون حلقه بهتر از این هست که ایندکس صفر بدید
موفق باشید

mgh64120
دوشنبه 12 دی 1390, 01:37 صبح
سلام دوست عزيز
نمي دونم كد شما رو درست متوجه شدم يا نه؟
به هر حال :

Dim Login As New Sqlconnection(كد مربوطه)
Using Cmd As New SqlCommand("SELECT Type From Karbar WHERE UserName = @UserName And Pass= @Pass", Login)
Cmd.Parameters.AddWithValue("@UserName", Trim(txtName.Text)).SqlDBType = SqlDBType.Nvarchar
Cmd.Parameters.AddWithValue("@Pass", Trim(txtPass.Text)).SqlDBType = SqlDBType.Nvarchar
Login.Open
Dim Result As Object = Cmd.ExecuteScalar
If Result Is DBNull.Value = False Then
Select Case CType(Result, Integer)
Case 0
Response.Redirect("~\modir\MainAdmin.aspx")
Case 1
Response.Redirect("~\Mainuser.aspx")
End Select
Else
MessageBox.Show("اطلاعات صحيح نيست.")
End If
End Using

موفق باشيد...