前の質問の回答からわかりましたが、ここでもその理由が当てはまりますが、今回は別の問題です。私が作成していたランチャー用に取得したログイン システム (Loginvb.vb) があり、次の 2 つのことを疑問に思っていました。
- データベースでログインチェックを行うより良い方法はありますか (より安全なように) (ログインスタイルには、PHP スクリプトを介した Web ベースの登録設定があります)?
- データベース内の特定の列 (アクセスとしてラベル付けされている) を取得し、それをパブリック文字列として配置して、Main.vb としてラベル付けされた別の形式で 1 2 または 3 に等しいかどうかを確認する方法はありますか?
現在のログインチェックは次のとおりです。
Public Sub login_Click(sender As Object, e As EventArgs) Handles login.Click
If txtuserName.Text = "" Or txtpassWord.Text = "" Then
MsgBox("You cannot progress until you login....(moron =p)")
Else
'Connects To the Database
Dim connect As MySqlConnection
connect = New MySqlConnection()
connect.ConnectionString = "server=127.0.0.1;user id=sc;Password=derp;database=sclaunch" 'not the actual login ;)
Try
connect.Open()
Catch myerror As MySqlException
MsgBox("Error Connecting to Database. Please Try again !")
End Try
'SQL Query To Get The Details
Dim myAdapter As New MySqlDataAdapter
Dim sqlquerry = "Select * From login where username = '" + txtuserName.Text + "' And password= '" + txtpassWord.Text + "'"
Dim myCommand As New MySqlCommand()
'My fail attempt at what I am trying to do :(
Dim sql22 As MySqlConnection
sql22 = New MySqlConnection()
sql22.ConnectionString = "Select * From login where access ="
'End of fail attempt
myCommand.Connection = connect
myCommand.CommandText = sqlquerry
'Starting The Query
myAdapter.SelectCommand = myCommand
Dim mydata As MySqlDataReader
mydata = myCommand.ExecuteReader
'To check the Username and password and to validate the login
If mydata.HasRows = 0 Then
MsgBox("Invalid Login")
Else
'fail testing xD
Label3.Text = sql22
MsgBox("You are now Loged In!")
End If
End If
End Sub
試行錯誤と行き詰まる瞬間を愛してコードを書いているので、基本的には基本的にどんどん学んでいます =/ (サイトにまだ新しいタグの問題を修正してくれた管理者や何かに申し訳ありません xD)