和数据库相连的登录页面如何作?

marf_cn 2002-05-13 12:59:09
我想作和access连接的登录页面,输入id和pwd文本框的值和数据库表中的id、password字段的记录比较,若相同就提交,请教如何作?
(请大概写一下代码)
...全文
176 13 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
celeron831 2002-07-19
  • 打赏
  • 举报
回复
能不能详细写一下每个页面的详细代码,为什么我按你们的代码,总提示有错?
marf_cn 2002-05-15
  • 打赏
  • 举报
回复
我的意思是:我一进入登录页面是让它只显示两个文本框和提交按钮,但一开始页面是显示了 判断是否越界的response.write中的信息,成了还没写用户名和密码就判断了。
问题我已解决,login.asp页面二和一:加入
<% if request.querystring("action")= "" then%>
<form action="login.asp?action=validate" method=POST>
...
...
<%else%>
<%if id="t" and pwd="t" then
response.redirect "show.asp"
else
response.write"该用户名不存在或输入错误密码!" %>
<a href="login.asp">返回重填</a>
<%end if%>
<%end if%>
这样就可以了,不知各位还有什么更好的方法,加分。
marf_cn 2002-05-15
  • 打赏
  • 举报
回复
问题已经解决,多谢各位!
wuya0531 2002-05-13
  • 打赏
  • 举报
回复
我用了静态游标方式,不会错的
jamwaychen 2002-05-13
  • 打赏
  • 举报
回复
我们都是用你的用户名来查询的,如果查不到就是越界了,我这样用是因为写的时候还不知道recordcount为什么总是返回-1的原因(详细请看昨天的某贴子),不过在我这是可以执行的。如果查到了数据,就是说有这条记录的话,就不应该是这样的,你试一下:
将 if rs.eof or rs.bof then 改为:
if rs.recordcount=0 then
如果你打开数据库的方式不对可能不行,先检查一下返回的是不是-1吧
wuya0531 2002-05-13
  • 打赏
  • 举报
回复
未判断什么?我是以你的用户名和密码作为查询条件,已经作了判断,你想怎样不作判断呢,说清楚点,有点不明白。
ice119103 2002-05-13
  • 打赏
  • 举报
回复
改正一下
if not rs.bof and not rs.eof then
response.write "登陆成功"
else
response.write “错误”
end if
rs.bof,rs.eof是判断是否越界的
ice119103 2002-05-13
  • 打赏
  • 举报
回复
应该这样:
if not rs.bof and rs.eof then
response.write "登陆成功"
else
response.write “错误”
end if
rs.bof,rs.eof是判断是否越界的
marf_cn 2002-05-13
  • 打赏
  • 举报
回复
wuya0531(wuya)兄:
连接等问题已经解决,但若写为:
if not rs.bof and rs.eof then
response.write "用户名或密码错"
else
response.write “ok”
end if
在进入页面时未判断就先执行了“用户名或密码错"这句,有什么办法不让它先判断?

jamwaychen(凌凌漆)兄:
你的代码也是同上的问题,有什么办法屏蔽掉?
jamwaychen 2002-05-13
  • 打赏
  • 举报
回复
哦,忘了说明:session("name"),session("time")是用于登陆后显示欢迎界面的,mima 就是 密码的字段,usname就是 用户 字段。uspw是提交的密码,default.asp是首页,顺便提点意见(第一次写,总觉的不完善)
jamwaychen 2002-05-13
  • 打赏
  • 举报
回复
我的代码,不太成熟的:
set cnn=server.createobject("adodb.connection")
Set Cnn = Server.CreateObject("ADODB.Connection")
StrCnn = "Provider = Microsoft.Jet.OLEDB.4.0;Data Source =" & server.mappath("test.mdb")
cnn.open strcnn
set rs=server.createobject("adodb.Recordset")
rs.CursorType = 1 'adOpenKeyset
rs.LockType = 3 'adLockOptimistic
rs.Open "select * from menber where [usname] ='" & request.form("usname") & "'",Cnn
if rs.eof or rs.bof then
response.write "<p><br><center><font color=silver>该用户名不存在或已被取消!请注册!</color></center><p><br>"
else
if rs("mima")=request.form("uspw") then
session("name")=rs("usname")
session("dltime")=time
response.redirect "default.asp"
else
response.write "<p><br><center><font color=silver>输入错误密码!</color></center><p><br>"
end if
end if
ChinaOk 2002-05-13
  • 打赏
  • 举报
回复
我发给你吧。
wuya0531 2002-05-13
  • 打赏
  • 举报
回复
需要两个页面,一个进行输入,一个进行处理
登陆界面就不多说了,文本框名为id,pwd
<%dim conn,rs,sql
Set conn = Server.CreateObject("ADODB.Connection")
conn.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath("你的数据库")
set rs=server.createobject("adodb.recordset")
session("id")=request.form("id")
session("pwd")=request.form("pwd")
sql="select * from where id="&session("id")&" and pwd='"&session("pwd")&"'"
rs.open sql,conn,1,1
if not rs.bof and rs.eof then
....
else
.....
end if
%>

28,409

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧