0

ダミー アカウントを含むデータベースをセットアップしました。私のログインページはUsernameを識別できますが、Passwordは識別できません。パスワードを再確認しましたが、正しいです。ユーザー名しか表示されない理由がわかりません。お知らせ下さい。

私のデータベースは次のようになります:
UserID      UserName                  Password          LastName        FirstName        Email
2 coo1Talk Lee Barb barb@hotmail.com
3 esther@hotmail.com k1dd13 Tan Esther esther@hotmail.com

そして、ここに私のコードビハインドファイルがあります:

Imports System
Imports System.Collections.Generic
Imports System.Linq
Imports System.Web
Imports System.Web.UI
Imports System.Web.UI.WebControls
Imports System.Data.SqlClient
Imports System.Configuration

Partial Class SignIn
Inherits System.Web.UI.Page
Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs)

End Sub
    Protected Sub signinBTN_Click(ByVal sender As Object, ByVal e As System.EventArgs)
    Dim sConnection As New SqlConnection(ConfigurationManager.ConnectionStrings("TrackTicketsConnectionString2").ConnectionString)
    sConnection.Open()

    Dim cmdS As String = "Select count(*) from Users where UserName='" + usernameTXTBOX.Text + "' AND Deleted='N'"

    Dim cmdCheckUser As New SqlCommand(cmdS, sConnection)
    Dim num As Integer = Convert.ToInt32(cmdCheckUser.ExecuteScalar().ToString())
    If num = 1 Then
        Dim cmdS1 As String = "Select * From Users WHERE UserName='" + usernameTXTBOX.Text + "' AND Deleted='N' AND Password='" + passwordTXTBOX.Text + "'"
        Dim pass As New SqlCommand(cmdS1, sConnection)
        Dim password As String = pass.ExecuteScalar().ToString()

        If password = passwordTXTBOX.Text Then
            Session("Ticket") = usernameTXTBOX.Text
            Response.Redirect("mysupport.aspx")
        Else
            userCOMPARELBL.Visible = True
            userCOMPARELBL.Text = "Password is incorrect."
        End If
    Else
        userCOMPARELBL.Visible = True
        userCOMPARELBL.Text = "Username is incorrect."
    End If

End Sub

End Class

私が期待している結果は、ユーザーが正常にログインして、 support.aspx という名前の別のページにリダイレクトされることです。

4

1 に答える 1

1

1)トピックから外れていることは知っていますが...パラメータ化されたクエリを使用してください!!

2) データベースで Deleted が「N」に設定されていますか?

削除済み='N'

3) パスワードがテキスト ボックスと一致する場合は、サポートをリダイレクトしています。それは意図した動作ではないと思います。

今コード:

   If password = passwordTXTBOX.Text Then
            Session("Ticket") = usernameTXTBOX.Text
            Response.Redirect("mysupport.aspx")
        Else
            userCOMPARELBL.Visible = True
            userCOMPARELBL.Text = "Password is incorrect."
        End If

訂正:

If password.Equals(passwordTXTBOX.Text) Then
              userCOMPARELBL.Visible = True
            userCOMPARELBL.Text = "Password is incorrect."
        Else
   Session("Ticket") = usernameTXTBOX.Text
            Response.Redirect("mysupport.aspx")

        End If
于 2013-06-03T16:48:59.170 に答える