私は、mysqlデータベースとユーザーの電子メールとパスワード用のテーブルを持つvb.netアプリケーションを持っています。私はいくつかのログインが可能であることに気づきはじめました。他のユーザーは自分自身ですべてのユーザーアカウントを試してみました。奇数番号のログインログインがすべて動作し、偶数番号のログインはすべて行われませんでした。私はこれがなぜ機能していないのかという手がかりを持っていません。以下ユーザーのメールアドレスとパスワードを持つテーブルでは、他のすべてのユーザーのみがログインできます
コード:
Partial Public Class Login
Inherits Page
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
Email.Focus()
End Sub
Protected Sub LogIn(sender As Object, e As EventArgs) Handles btnLogin.Click
Dim conn As New MySqlConnection
Dim cmd As MySqlCommand
Dim rdr As MySql.Data.MySqlClient.MySqlDataReader
Dim query As String
Dim name As String = ""
Dim time_out As Integer
Dim user_access As Integer
Dim pswrd As String
Dim e_mail As String
Dim firstname As String
Dim lastname As String
Try
conn = New MySqlConnection(connStr)
conn.Open()
query = "SELECT * FROM user"
cmd = New MySqlCommand(query, conn)
rdr = cmd.ExecuteReader
Do While rdr.HasRows = True
firstname = ""
lastname = ""
pswrd = ""
time_out = 0
user_access = 1
rdr.Read()
firstname = rdr.GetString(rdr.GetOrdinal("first_name"))
lastname = rdr.GetString(rdr.GetOrdinal("last_name"))
e_mail = rdr.GetString(rdr.GetOrdinal("email"))
pswrd = rdr.GetString(rdr.GetOrdinal("password"))
user_access = rdr.GetString(rdr.GetOrdinal("access"))
time_out = rdr.GetString(rdr.GetOrdinal("timeout"))
If pswrd = Password.Text And e_mail = Email.Text Then
session_email = e_mail
session_access = user_access
session_timeout = time_out
session_first = firstname
Session("Session_User") = session_email
Session("Session_TimeOut") = time_out
Session("Session_Access") = session_access
Session("Session_First") = session_first
Response.Write(session_first & " your access level is ... " & session_access & vbCrLf & "With an access level of... " _
& vbCrLf & "1 You can create work orders And view most other things" _
& vbCrLf & "2 You can create work orders, View and or Modify some items. Please be careful" _
& vbCrLf & "3 You have full Create, Edit and Delete access. Please be careful Jedi Master!" _
& vbCrLf & vbCrLf & "You have " & time_out & " minutes to complete your task.", vbSystemModal, "Logged In")
GoTo JumpPoint2
End If
If rdr.Read() = False Then
Response.Write("Your Login Attempt Failed " & vbCrLf & "Either your email address or password are NOT correct" & vbCrLf & "or you do not have access to this system yet." & vbCrLf & "Contact Management if you need an account set up for you.", vbSystemModal, "Log In Failure")
GoTo JumpPoint1
End If
Loop
JumpPoint1:
Catch ex As Exception
Response.Write("Login Fail by Exception : " & vbCrLf & vbCrLf & ex.Message)
End Try
JumpPoint2:
conn.Close()
If session_access = "1" Or session_access = "2" Or session_access = "3" Then
Response.Redirect("~/MainMenu.aspx")
End If
End Sub
End Class
End of Code:
任意のアイデアをいただければ幸いです。
パスワードをプレーンテキストとして保存しないでください – Plutonix
最終的にそこに着くでしょう。 vb.netとMySQLの新機能すべての例に圧倒されました。 –