gpt4 book ai didi

c# - 使用数据库中的用户名和密码登录页面无法正常工作,不明白为什么

转载 作者:太空宇宙 更新时间:2023-11-03 21:06:00 24 4
gpt4 key购买 nike

我正在使用 Visual Studio 在 C# 中创建一个 asp.net 网络应用程序。我有一个用于 parent 的注册页面,该页面将信息存储在我创建的数据库表中。我现在需要创建一个登录页面,如果用户名和密码输入正确,用户将被重定向到支付页面。

到目前为止,我所拥有的在一定程度上是有效的。我将展示我的代码,以及主要错误的屏幕截图。如果有人能指出我哪里出错了,我将不胜感激。

用户名 + 密码 = 正确 - 我收到“密码正确”文本

用户名 + 密码 = 都错了 - 我收到“用户名不正确”文本

用户名(不正确)+ 密码(正确)- 我收到“用户名不正确”文本

用户名(正确)+ 密码(不正确)- 我收到此错误(见屏幕截图)I get this error

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;

namespace Coursework
{
public partial class Login : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}

protected void loginButton_Click(object sender, EventArgs e)
{
SqlConnection conn = new SqlConnection(ConfigurationManager.ConnectionStrings["newregDBConnectionString"].ConnectionString);
conn.Open();
string checkUser = "select count(*) from parent where parentID='" + userText.Text + "'";
SqlCommand com = new SqlCommand(checkUser, conn);
int temp = Convert.ToInt32(com.ExecuteScalar().ToString());
conn.Close();
if (temp == 1)
{
conn.Open();
string checkPassword = "select password from parent where password='" + passText.Text + "'";
SqlCommand passCom = new SqlCommand(checkPassword, conn);
string password = passCom.ExecuteScalar().ToString().Replace(" ","");
if(password == passText.Text)
{
Session["New"] = userText.Text;
Response.Write("Password is correct");
}
else
{
Response.Write("Password is not correct");
}
}
else
{
Response.Write("Username is not correct");
}
conn.Close();
}
}

最佳答案

ExecuteScalar返回对象

public override object ExecuteScalar()

所以你需要检查null

var obj = passCom.ExecuteScalar();
string password = obj?.ToString().Trim();

也开始使用SqlCommand.Parameters保护您免受 Sql injection

关于c# - 使用数据库中的用户名和密码登录页面无法正常工作,不明白为什么,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41102857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com