大家帮俺看看怎么解释的,这些地方是?送最后所有100分了!(俺才学不到两个星期啊!拜托高手大哥)

LoadingThink 2003-10-21 01:06:49
<%@ Language=VBScript %>
<%
dim name,pwd,email,person
dim sql
dim rs,rsadd
name=request("txt1")
password=request("txt2")
if name="lyf" and password="2000" then
session("name")=name
Response.Redirect "main.asp"
else

set rs=server.createobject("adodb.recordset")
set rsadd=server.createobject("adodb.recordset")
conn = "DBQ=" + server.mappath("mydb.mdb") + ";DefaultDir=;DRIVER={Microsoft Access Driver (*.mdb)};"
sql="select * from user where username='"&name&"'and password='"&password&"'"
rs.Open sql,conn,1,1
if not rs.EOF then
sql="select * from activetable where name='"&name&"'"
rsadd.Open sql,conn,1,1
if rsadd.EOF then
rsadd.Close
sql="insert into activetable(name) values('"&name&"')"
rsadd.Open sql,conn,1,1
session("name")=name
Response.Redirect "main.asp"
else
response.write "<script language=JavaScript>" & chr(13) & "alert('此用户已经有人使用或密码不正确!用户登录失败!');" & "history.back()" & "</script>"
end if
else
response.write "<script language=JavaScript>" & chr(13) & "alert('此用户已经有人使用或密码不正确!用户登录失败!');" & "history.back()" & "</script>"
end if

end if
%>
*************************
怎么开了两鸽数据集呢?都分别用做什么?(什么用途)
问题二:sql="select * from user where username='"&name&"'and password='"&password&"'"为什么啊?和下面有什么关系?
问题三:if not rs.EOF then
sql="select * from activetable where name='"&name&"'"
是什么意思?做什么用?
问题四:rsadd.Close
sql="insert into activetable(name) values('"&name&"')"
这里插入的数据是哪里的name啊?是name=request("txt1")还是name="lyf"呢?
问题五:else
response.write "<script language=JavaScript>" & chr(13) & "alert('此用户已经有人使用或密码不正确!用户登录失败!');" & "history.back()" & "</script>"
end if
else
response.write "<script language=JavaScript>" & chr(13) & "alert('此用户已经有人使用或密码不正确!用户登录失败!');" & "history.back()" & "</script>"
end if
怎么会有两次检测呢?
...全文
56 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
qdubit 2003-10-21
  • 打赏
  • 举报
回复
很明显这是一个用户登陆的页面.
程序先判断用户名是否为lyf"密码是否为"2000"如果是就登陆.如果不是以上用户则user表有没有该用户,这是用户注册表.如果有则在activetable看该用户有没有登陆,这是用户登陆表,如果没有登陆就创建他.有则提示错误.
srj911 2003-10-21
  • 打赏
  • 举报
回复
up
mjwgtm 2003-10-21
  • 打赏
  • 举报
回复
up
mycl3344 2003-10-21
  • 打赏
  • 举报
回复
對﹐學習一下SQL語言
tracy_qd 2003-10-21
  • 打赏
  • 举报
回复
建议楼主学习一下SQL语言和巩固自己已学知识
N1rvana 2003-10-21
  • 打赏
  • 举报
回复
简单看了一下,大致的意思明白了。

问题一:
set rs=server.createobject("adodb.recordset")
set rsadd=server.createobject("adodb.recordset")
开两个记录集,第一个rs是登录用户记录集,用于判断该用户名是否存在以及密码是否正确;第二个rsadd是已登录用户,用于判断用户名name是否已经登录;

问题二:查询一个用户名为name,密码为password的用户记录集。作用在于:如果这个记录集非空,则证明用户信息正确;否则证明用户名不存在或者密码不正确。事实上这个检验方法很不安全……应该事先对name和password进行处理;

问题三:在问题二所说的验证中,如果用户信息正确,则对在线用户表activetable进行查询,如果存在用户名为name的记录,则证明该用户已经登录;否则证明还未登录;

问题四:这里插入的name是name=request("txt1"),name="lyf"只是if语句中的一个条件表达式;

问题五:结合问题2、3,第一次检查是为了判断用户登录信息的正确性,第二次判断用户是否已经登录,如果已经登录则不能重复登录。这也是提示信息“此用户已经有人使用或密码不正确!用户登录失败!”所指的两个方面——“已经有人使用”和“密码不正确”。


累啊……楼主记着结贴啊……^_^
sufon 2003-10-21
  • 打赏
  • 举报
回复
这是一个用户登陆的页面.先判断用户名是否为lyf"密码是否为"2000"如果是就登陆.如果不是以上用户则user表有没有该用户,这是用户注册表.如果有则在activetable看该用户有没有登陆,这是用户登陆表,如果没有登陆就创建他.有则提示错误.

28,390

社区成员

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

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