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 ExplicitPublic 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()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)