注册 登录
编程论坛 ASP技术论坛

再请问,注册用户找回密码功能实现不了。

jacklabyo 发布于 2007-08-10 22:29, 895 次点击

再请问,注册用户找回密码功能实现不了。代码如下:
<%
problem=request.form("problem")'接收上面用隐藏域传过来的值
answer=request.form("answer")'接收上面用文体域传过来的值
sql="select * from wbcompanyuser where problem='"&problem&"' and answer='"&answer&"'"
set rs=conn.execute(sql)
if rs.eof or rs.bof then
response.write"密码提示答案有误!"
esle
%>
<table><tr><td><%rs=("password")%></td></tr></table>

按以上代码在上一层输入密码提示答案后,按下一步,老是提示“密码提示答案有误”,明明密码提示答案输对了还是提示有误。不知道什么问题了,是代码上写得有问题,所以找查不到数据库内容?各位帮帮忙了。

8 回复
#2
愿望2007-08-10 22:35

<%
problem=request.form("problem")'接收上面用隐藏域传过来的值
answer=request.form("answer")'接收上面用文体域传过来的值
sql="select * from wbcompanyuser where problem='"&problem&"' and answer='"&answer&"'"
set rs=conn.execute(sql)
if rs.eof or rs.bof then
response.write"密码提示答案有误!"
esle --> 这里应该是 "else" 吧 :-)
%>
<table><tr><td><%rs=("password")%></td></tr></table>

另你可否把整个代码都贴上来,你贴的这些代码里看不出什么问题

#3
QQQQQQQQQQQQ2007-08-10 23:48
[QUOTE]set rs=conn.execute(sql)
if rs.eof or rs.bof then [/QUOTE]
你用的不是adodb.recordset记录集不能用EOF,BOF
用IF RS<>"" THEN看看
#4
jacklabyo2007-08-12 21:10

我现在是按problem='"&problem&"' and answer='"&answer&"'" 来查得,万一两个用户或多个用户注册时写下的问题和答案一样得,那么找查时就按顺序排在前的先显示了。所以一定要按登入用户的用户名去找,才能对应,但就是不知道怎么把上面的程序修改。

#5
jacklabyo2007-08-12 21:12
回复:(QQQQQQQQQQQQ)[QUOTE]set rs=conn.execute(s...

可以使用RS.EOF OR RS.BOF
我一直这样写得。

#6
jacklabyo2007-08-12 21:14
回复:(愿望)

很感谢2楼的朋友,第1楼的问题我已经解决了,但是请帮忙看看第4楼的新问题吧。再次谢谢!

#7
multiple19022007-08-12 21:21
以下是引用jacklabyo在2007-8-12 21:10:27的发言:

我现在是按problem='"&problem&"' and answer='"&answer&"'" 来查得,万一两个用户或多个用户注册时写下的问题和答案一样得,那么找查时就按顺序排在前的先显示了。所以一定要按登入用户的用户名去找,才能对应,但就是不知道怎么把上面的程序修改。

<%
problem=request.form("problem")'接收上面用隐藏域传过来的值
answer=request.form("answer")'接收上面用文体域传过来的值
'sql="select * from wbcompanyuser where problem='"&problem&"' and answer='"&answer&"'"
sql="select * from wbcompanyuser where username='" & username & "' and problem='"&problem&"' and answer='"&answer&"'"
set rs=conn.execute(sql)
if rs.eof or rs.bof then
response.write"密码提示答案有误!"
else
%>

斜体的username就看你数据库的字段了
下划线的username请你用别的方法得到

#8
leaftest2007-08-13 08:21
记住, 设计数据库的时候一定要给出每个表单唯一的字段, 比如用户表里的 用户名 或者 用户ID 是唯一的

这样查询的时候只要给出 where username='" & username & "' 这样的判断就可保证只针对当前用户了.
#9
jacklabyo2007-08-13 21:46
感谢各位,我想应该会了。我先试试去。呵呵。
1