| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2419 人关注过本帖
标题:怎么验证输入的密码和数据库里的一样啊 .呜呜
只看楼主 加入收藏
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
 问题点数:0 回复次数:26 
怎么验证输入的密码和数据库里的一样啊 .呜呜
[bo]怎么验证输入的密码和数据库里的一样啊 .呜呜.
还是sql数据库的
不会做,唉.
我怎么那么差劲啊

[/bo]
搜索更多相关主题的帖子: 数据库 密码 验证 输入 sql 
2008-04-03 10:38
srym
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-4-2
收藏
得分:0 
按用户名称读取数据库查询密码,在用查询出来的密码和页面上密码框里的值去比较,如果一致就可以登录,如果不一致就是密码错了,如果查询数据库的时候没有查到密码,说明没有这个用户。!
2008-04-03 10:40
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
我也知道这么做啊
可是不知道怎么编程啊,呵呵
具体是,不知道怎么把密码读出来?
2008-04-03 10:54
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
收藏
得分:0 
只是针对楼主的查密码,所以省略了用户名的验证
[CODE]
using System.Data.SqlClient;  //引入命名空间
//创建数据库连接,database为数据库名称,uid为用户名,pwd为密码server=.代表连接的服务器是本机
SqlConnection con = new SqlConnection("server=.;database=;uid=;pwd=");
con.Open();    //打开数据库连接
SqlCommand cmd = new SqlCommand("select count(*) from User where  userpwd=" + this.TextBoxPassword.Text, con);//User是自己创建的一个表
int count = Convert.ToInt32(cmd.ExecuteScalar());  //将返回的对象类型转化为数据类型
if (count > 0)  //判断是否有数据返回
{
    Response.Write("<script>alert('密码正确!')</script>");
}
else
{
    Response.Write("<script>alert('密码错误!')</script>");
}
con.Close();  //关闭连接
[/CODE]

[[it] 本帖最后由 sldtk1 于 2008-4-3 11:04 编辑 [/it]]
2008-04-03 11:03
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
谢谢,我试一下
2008-04-03 11:09
srym
Rank: 1
等 级:新手上路
帖 子:18
专家分:0
注 册:2008-4-2
收藏
得分:0 
楼上的那么写会有明显的sql注入的问题,建议改一下!(或者使用预编译SQL语句也可以解决注入问题)
using System.Data.SqlClient;  //引入命名空间
//创建数据库连接,database为数据库名称,uid为用户名,pwd为密码server=.代表连接的服务器是本机
SqlConnection con = new SqlConnection("server=.;database=;uid=;pwd=");
con.Open();    //打开数据库连接
SqlCommand cmd = new SqlCommand("select userpwd from User where  username=" + this.txtUserName.Text, con);//User是自己创建的一个表
try
{
string Pwd = cmd.ExecuteScalar().ToString();  //如果没有查到密码,转换会有异常
if (Pwd!=this.txtUserPwd.Text)  //判断密码是否正确
{
    Response.Write("<script>alert('密码不正确!')</script>");
}
else
{
    //密码正确,页面转向
    Response.Redirect("youpage.aspx");
}
catch
{
    Response.Write("<script>alert('查无此人!')</script>");
}
finally
{
con.Close();  //关闭连接
}
2008-04-03 11:14
晋加答
Rank: 1
来 自:广东-深圳
等 级:新手上路
帖 子:137
专家分:0
注 册:2008-4-1
收藏
得分:0 
SqlConnection meteor = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["meteor"]);
        meteor.Open();//连数据库

        SqlCommand comm = new SqlCommand("select * from studentlogin Where  username=('" + TextBox1.Text.ToString().Trim() + "')", meteor);

        SqlDataReader dr = comm.ExecuteReader();

        if (dr.Read())
        {

            SqlCommand cmd = new SqlCommand("select count(*) from studentlogin where  password=" + this.TextBox2.Text, meteor);
            SqlDataReader dr2 = cmd.ExecuteReader();

        if (dr2.Read())
              {
                  Response.Write("<script language=javascript>alert('登陆成功!')</script>");
                  Response.Redirect("毕业生.aspx");
               }
          else
              {
                  Response.Write("<script>alert('密码错误!')</script>");
              }  


        }
        else
            Response.Write("<script language=javascript>alert('无此用户!')</script>");
        dr.Close();
        meteor.Close();



怎么改啊?
系统说已经开了DataReader,要先关闭.可关闭了,用户名怎么检查啊 ?
2008-04-03 11:21
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
收藏
得分:0 
ExecuteScalar返回的是一个对象集,而不是string类型的,6楼的忽略了转化,所以肯定是返回错误的。
2008-04-03 11:24
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
收藏
得分:0 
SqlCommand cmd = new SqlCommand("select count(*) from User where username='" + this.txtusername.Text + "' and userpwd='" + this.txtuserpwd.Text + "'",con);
2008-04-03 11:27
sldtk1
Rank: 16Rank: 16Rank: 16Rank: 16
等 级:版主
威 望:20
帖 子:624
专家分:258
注 册:2006-5-4
收藏
得分:0 
完全可以把dr2去掉的,而且如果用DataReader的话,查询的时候就不用count(*)了,直接用*
2008-04-03 11:29
快速回复:怎么验证输入的密码和数据库里的一样啊 .呜呜
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025816 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved