请教:整合动网论坛的会员判断程序

yangtzeu 2007-07-09 11:06:27
网站上的会员注册,登陆,注销要和动网论坛共享(但网站上的会员信息可以在论坛通用,但论坛上的不一定有权限在网站上通用)
写了四个接口函数,以供网站调用和判断.其中第三个和第四个函数有些问题,高手帮忙看一下,谢谢!(如果前两个有问题,也麻烦指出来)



<!--#includer file="conn.asp"-->
<!--#include file="inc/md5.asp"-->
<!--#include file="inc/const.asp"-->


<%
'**********************************函数(1):检查用户名是否重复
'功能说明:检查用户名是否重复,功能:当用户名重复返回1,当数据库里无此用户名返回0
'传入参数为:用户名
Function Checkexist(username)
dim rs1,sqltext
set rs1=server.createobject("adodb.recordset")
sqltext="select * from DV_admin where username='"&username&"'"
rs1.open sqltext,conn,1,1
if rs1.EOF and rs1.BOF then
Checkexist=1
else
Checkexist=0
end if
rs1.close
set rs1=nothing
end function

%>


<%
'*********************函数(2):会员注册函数
Function Register(username,userpassword,userquesion,useranswer,useremail)
'会员注册函数说明:通过该函数,如果无此用户名,则重新在数据库生成该新用户,如果有此用户名,则用最新参数覆盖原来的属性,
'传入参数为:为:用户名、密码、密码找回问题、密码找回答复、电子邮件
dim rs2,sqltext
set rs2=server.createobject("adodb.recordset")
sqltext="select * from DV_user where username='"&username&"'"
rs2.open sqltext,conn,1,3
'如果没有此用户名,那么存入数据库中
if rs2.EOF and rs2.BOF then
rs2.addnew
rs2("username")=username
rs2("userpassword")=userpassword
rs2("UserQuesion")=UserQuesion
rs2("useranswer")=useranswer
rs2("useremail")=useremail
rs2.update
response.write"注册成功!请牢记您的用户名和密码。"
response.end
else
'否则覆盖掉原来的
rs2("username")=username
rs2("userpassword")=userpassword
rs2("UserQuesion")=UserQuesion
rs2("useranswer")=useranswer
rs2("useremail")=useremail
rs2.update
rs2.close
set rs2=nothing
end if
end function
%>


<%
'**********************************登陆确认函数(3)
'登陆确认函数,当用户名和密码和数据库系统里校验准确,则对论坛做登陆状态设置,否则返回0
'传入参数为:用户名、密码;
Function logincheck(username,userpassword)
dim rs3,sqltext
set rs3=server.createobject("adodb.recordset")
sqltext="select * from DV_User where username='"&username&"' and userpassword='"&userpassword&"'"
rs3.open sqltext,conn,1,1
if not rs3.EOF or rs3.BOF then
response.write"登陆成功!"
else
Logincheck=0
response.write"登陆失败!"
rs3.close
set rs3=nothing
end if
end function
%>

<%
'*********************************注销函数(4)
'注销退出函数,当校验正确,则将论坛置成用户退出状态!
'传入参数为:用户名,密码
Function Logout(username,userpassword)
userpassword=md5(userpassword,16)
dim rs4,sqltext
set rs4=server.createobject("adodb.recordset")
sqltext="select * from DV_User where username='"&username&"' and userpassword='"&userpassword&"'"
rs4.open sqltext,conn,1,1
if not rs4.EOF or rs4.BOF then
Response.Cookies(Dvbbs.Forum_sn)("username")=""
Response.Cookies(Dvbbs.Forum_sn)("password")=""
Session("flag")=Empty
rs4.close
set rs4=nothing
end if
end function
%>

...全文
169 点赞 收藏 5
写回复
5 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yangtzeu 2007-07-11
麻烦高手继续帮忙解答一下,谢谢~
回复
yangtzeu 2007-07-11
问题还是没有解决,注销和登陆(函数3和4)都不能执行!
本人把动网的注销源程序贴出来:

<!--#include file="sqlconn.asp"-->
<!--#include file="inc/const.asp"-->
<%
If Not IsObject(Conn) Then ConnectionDatabase
Dim activeuser,TempNum
If Not CLng(DVbbs.UserSession.documentElement.selectSingleNode("userinfo/@userid").text)=0 Then
activeuser="delete from Dv_online where userid= "& DVbbs.UserSession.documentElement.selectSingleNode

("userinfo/@userid").text
Conn.Execute activeuser,TempNum
'更新缓存总用户在线数据
MyBoardOnline.Forum_UserOnline = MyBoardOnline.Forum_UserOnline - TempNum
Dvbbs.Name="Forum_UserOnline"
Dvbbs.value=MyBoardOnline.Forum_UserOnline
Else
If IsNumeric(DVbbs.UserSession.documentElement.selectSingleNode("userinfo/@statuserid").text) Then
activeuser="delete from Dv_online where id="& DVbbs.UserSession.documentElement.selectSingleNode

("userinfo/@statuserid").text
Conn.Execute activeuser,TempNum
'更新缓存总用户在线数据
MyBoardOnline.Forum_GuestOnline = MyBoardOnline.Forum_GuestOnline - TempNum
Dvbbs.Name="Forum_GuestOnline"
Dvbbs.value=MyBoardOnline.Forum_GuestOnline
End If
End If
MyBoardOnline.Forum_Online = MyBoardOnline.Forum_Online - TempNum
Dvbbs.Name="Forum_Online"
Dvbbs.value=MyBoardOnline.Forum_Online
'Dvbbs.Forum_SN为论坛SN,当前值为:SSKK_DvForum
Response.Cookies(Dvbbs.Forum_sn).path=Dvbbs.cookiepath
Response.Cookies(Dvbbs.Forum_sn)("username")=""
Response.Cookies(Dvbbs.Forum_sn)("password")=""
Response.Cookies(Dvbbs.Forum_sn)("userclass")=""
Response.Cookies(Dvbbs.Forum_sn)("userid")=""
Response.Cookies(Dvbbs.Forum_sn)("userhidden")=""
Response.Cookies(Dvbbs.Forum_sn)("usercookies")=""
If EnabledSession Then
Session(Dvbbs.CacheName & "UserID")=Empty
End If
Set Dvbbs.UserSession=Nothing
Session("flag")=Empty
Response.Redirect Dvbbs.Forum_Info(11)
%>
回复
yangtzeu 2007-07-11
下面的登陆接口函数始终未解决问题,麻烦高手赐教!~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

<%
'**********************************登陆确认函数(3)**********************************************

'登陆确认函数,当用户名和密码和数据库系统里校验准确,则对论坛做登陆状态设置,否则返回0
'传入参数为:用户名、密码;
Function ChkUserLogin(username,userpassword)
dim rs3,sqltext
set rs3=server.createobject("adodb.recordset")
sqltext="select * from DV_User where username='"&username&"' and userpassword='"&userpassword&"'"
rs3.open sqltext,conn,1,1
if not rs3.EOF or rs3.BOF then
response.cookies("Dvbbs.my_DvForum")("username")=username
response.cookies("Dvbbs.my_DvForum")("userpassword")=userpassword
else
ChkUserLogin=0
rs3.close
set rs3=nothing
end if
end function
%>

不知道怎样修改?
回复
yangtzeu 2007-07-09
第三个函数的问题是:注销不了!
回复
snlixing 2007-07-09
rs3.open sqltext,conn,1,1
if not rs3.EOF or rs3.BOF then
response.write"登陆成功!"
response.cookies("Dvbbs.Forum_sn")("username")=rs3("username")
response.cookies("Dvbbs.Forum_sn")("userpass")=rs3("userpass")

<%
'*********************************注销函数(4)
'注销退出函数,当校验正确,则将论坛置成用户退出状态!
'传入参数为:用户名,密码
Function Logout()

Response.Cookies("Dvbbs.Forum_sn")("username")=""
Response.Cookies("Dvbbs.Forum_sn")("password")=""
Session("flag")=Empty

end function
%>
回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2007-07-09 11:06
社区公告
暂无公告