求一段ASP登陆数据库验证的代码。要SQL语句

求一段ASP登陆数据库验证的代码。要SQL语句,第1张

昏,你写的呀???够笨的方法了.

set conn= Server.CreateObject("adodb.connection")

conn.open "Provider=Microsoft.jet.oledb.4.0data source=" &server.MapPath("_ringDB.mdb")

这条语句写到conn.asp中,然后在任何网页中插入

<!--#include file=conn.asp-->就可以了,以后也不用写了.

接收网页传递,你要明白,一般输入用户名和密码是一个界面,检查用户名密码是另一个界面.你必须接收传递过来的用户名和密码,也就是上一个网页的form组件.当点"提交"后,传递到这个检查页面中.

在这个界面接收username 和 password .

("")中的username是上一个网页中textbox中的值,也就是用户输入的值,密码也一样.在检查页面中,接收传来的值.代码如下:

username=request.querystring("username")

password=request.querystring("password")

你用recordset对像建立rs

你SQL语句有问题.不用那么麻烦,我写的就可以:

set rs=server.createobject("adodb.recordset")

sql="select * from byuser where _username='"&username&"' and _password='"&password&"'"

rs.open sql,conn,1,3

判断代码:

if rs.eof then

response.write"输入的用户和密码错误!"

response.end

else

session("admin")=rs("_username")

response.Redirect("showbook.asp?username="&username&"&pageno="&pageno&"")

----------------------------------------

我解释一下判断,当rs指针到数据库底,证明没有找到username和password相同的数据,所以,该用户没有注册,或者用户名或密码错误导致,提示"输入的用户和密码错误!"

否则,证明rs指针没有到底,已经找到相同的值.建立session,为了让用户有特殊 *** 作,比如说,是否允许修改或删除,

只要判断session的值是否为空就可以了

session("admin")=rs("_username")

session("admin")的值就是rs("_username")的值,比如它的值是"小王"

判断是否有权限,当在其他的网页当中:

if session("admin")=rs("_username")

........

else

respose.write("你没有登陆,无权 *** 作!")

endif

------------------------------------

只有通过你对session("admin")=rs("_username")的赋值

上面的验证才能通过.

明白了么?

累死我了,你太栗色,1分也不给,别人懂的都不原因回答你的问题.

你要知道我费了大半天的功夫.

Option Explicit

Public LoginSucceeded As Boolean

'退出窗体

Private Sub cmdExit_Click()

LoginSucceeded = False

Unload Me

End Sub

'检验数据

Private Sub cmdOK_Click()

Set rs = New ADODB.Recordset

Set rs = CN.Execute("select * From 用户")

If rs.EOF Then '若数据库中没有用户时,允许进入

rs.Close

Set rs = Nothing

Unload Me

Load frmMain

Exit Sub

End If

rs.MoveFirst

Do

If rs.Fields("username") = txtUser.Text Then

If rs.Fields("password") = txtPassword.Text Then

LoginSucceeded = True

rs.Close

Unload Me

Load frmMain

frmMain.Show

Exit Sub

Exit Do

End If

End If

rs.MoveNext

Loop Until rs.EOF

If rs.EOF Then '用户名或者密码不对时

MsgBox "无效密码或用户名请重试!", , "Login"

txtUser.SetFocus

End If

Exit Sub

errh: '错误处理

MsgBox Err.Description

End Sub

Private Sub Form_Load()

Dim s As String

MakeCenter frmLogin '窗体位于屏幕中间

s = MakeConnection() '创建全局ADO连接

If s <>"OK" Then

MsgBox s, , "错误!"

Unload Me

LoginSucceeded = False

End If

End Sub

Private Sub Form_Unload(Cancel As Integer)

If Not LoginSucceeded Then '如果登陆失败

CN.Close '释放连接

Set CN = Nothing

End If

End Sub

下面的代码就是个简单的例子。。。

是使用C# 查数据的基本 *** 作。。user是需要验证的用户名。。pass 是需要验证的密码。使用的是windows验证,只要是看连接串中IntegratedSecurity 如果为true,都是windows认证。

string user = ""

string pass = ""

using (SqlConnection conn = new SqlConnection())

{

SqlConnectionStringBuilder sqlsb = new SqlConnectionStringBuilder()

sqlsb.DataSource = ".\\mssql"

sqlsb.InitialCatalog = "databasename"

sqlsb.IntegratedSecurity = true

conn.ConnectionString = sqlsb.ConnectionString

conn.Open() //打开连接。。。

SqlCommand sqlComm = conn.CreateCommand()

sqlComm.CommandText = "select * from user where user = '"+user+"' and password = '"+pass+"'"

SqlDataReader dr = sqlComm.ExecuteReader()

while (dr.Read())

{

//如果走进来了 表示查到了。。验证成功,否则失败。。

}

dr.Close()

conn.Close()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/9893213.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存