ASP个人网站与动网整合非官方方法

平面设计 2025-04-24 22:20www.168986.cn平面设计培训

关于个人网站整合动网论坛系统的挑战与突破

对于拥有会员注册模块和动网论坛的个人网站而言,实现不同Web系统间的用户信息同步更新、登录等操作是一项颇具挑战性的任务。尽管动网提供了详尽的“动网论坛系统Api接口开发人员指南”,但对于我等新手而言,初时难免感到迷茫。

经过对登录、验证等函数的深入研究和测试,我最终取得了不小的进展。本次测试的论坛版本为Version 7.1.0 Sp1,其他版本尚未进行测试。

一、网站文件概述

网站的文件结构清晰明了,主要包含了index.asp(首页)、CheckUserLogin.asp(用户登录验证页面)以及bbs/(论坛目录)。

二、整合核心思路

其实,同步更新的实现并不困难,关键在于解决同步登录的问题。我们的重点应放在如何实现这一功能。为此,我采取了将主站用户表整合至动网用户表Dv_User中的策略,这样可以避免以后需要更新两个库的麻烦。根据需求,我们可以在Dv_User中新增字段,以满足主站与动网之间的数据交互。

三、具体实现方法

1. 修改bbs/login.asp和bbs/inc/Dv_ClsMain.asp文件,以适应主站与动网之间的登录验证需求。

2. 当用户进行登录操作时,表单数据将发送到bbs/login.asp进行验证。

3. 主站可根据动网登录成功后Session中记录的信息来判断登录是否成功,并获取用户资料。

三、新增修改文件

1. index.asp代码:

```html

个人网站与动网整合(.mzwu.)

<%

If CheckUserLogin Then

Response.write("退出登录")

Response.write("用户名:" & Request.Cookies("username") & "
")

Response.write("性别:" & Request.Cookies("sex") & "
")

Response.write("注册时间:" & Request.Cookies("joindate") & "
")

Response.write("登录时间:" & Request.Cookies("lastlogin") & "
")

Response.write("登录次数:" & Request.Cookies("userlogins") & "
")

Response.write("浏览器类型:" & Request.Cookies("browser") & "
")

Response.write("浏览器版本:" & Request.Cookies("version") & "
")

Response.write("操作系统:" & Request.Cookies("platform") & "
")

Else

%>

用户名:

密码:

<%

End If

%>

进入论坛

```

2. CheckUserLogin.asp代码:

```asp

<%

Function CheckUserLogin()

Dim Dvbbs, UserSession

Const MsxmlVersion=".3.0"

Set Dvbbs = New Cls_Forum

Set UserSession=Server.CreateObject("msxml2.FreeThreadedDOMDocument"&MsxmlVersion)

If UserSession.loadxml(Session(Dvbbs.CacheName & "UserID")&"") Then

If UserSession.documentElement.selectSingleNode("userinfo/@userid").text<> "0" Then

'在论坛登录成功

CheckUserLogin = True

'下边是用户一些信息的获取方法,可自行将其保存于Cookies或Session中便于使用:

'用户ID : UserSession.documentElement.selectSingleNode("userinfo/@userid").text

'用户名 : UserSession.documentElement.selectSingleNode("userinfo/@username").text

'生日 : UserSession.documentElement.selectSingleNode("userinfo/@userbirthday").text

'电子 : UserSession.documentElement.selectSingleNode("userinfo/@useremail").text

'性别 : UserSession.documentElement.selectSingleNode("userinfo/@usersex").text '0为女,1为男

'注册时间 : UserSession.documentElement.selectSingleNode("userinfo/@joindate").text

'登录时间 : UserSession.documentElement.selectSingleNode("userinfo/@lastlogin").text

'登录次数 : UserSession.documentElement.selectSingleNode("userinfo/@userlogins").text

'金钱 : UserSession.documentElement.selectSingleNode("userinfo/@userwealth").text

'积分 : UserSession.documentElement.selectSingleNode("userinfo/@userep").text

'魅力 : UserSession.documentElement.selectSingleNode("userinfo/@usercp").text

'登录IP : UserSession.documentElement.selectSingleNode("userinfo/@userlastip").text

'浏览器类型 : UserSession.documentElement.selectSingleNode("agent/@browser").text

'浏览器版本 : UserSession.documentElement.selectSingleNode("agent/@version").text

'操作系统 : UserSession.documentElement.selectSingleNode("agent/@platform").text 访问信息获取完成并存入Cookies中拓展Dv_User表以满足需求演变

当默认的Dv_User表字段无法满足我们的实际需求时,扩展其功能是明智之举。接下来,让我们一起动手进行扩展。

步骤一:打开Dv_User表,新增一个文本类型的字段——info_1。这个字段将用于存储用户的额外信息。

步骤二:进入bbs/login.asp的ChkUserLogin函数。在这里,我们需要修改Sql查询语句,以包含新添加的info_1字段。修改后的Sql语句如下:

选择UserID、UserName、UserPassword等基础信息字段外,还包含新加入的info_1字段。确保信息的完整性并满足后续的查询需求。

步骤三:在bbs/inc/Dv_ClsMain.asp的TrueCheckUserLogin函数中同样需要更新Sql查询语句,包含info_1字段。这一步是为了在用户登录验证过程中获取到完整的用户信息。

步骤四:在CheckUserLogin.asp中,我们要在用户会话中新增一个名为“info_1”的Cookie,用于存储用户新增的信息。这样,我们可以方便地获取和使用这个信息。具体实现是:

Response.Cookies("info_1") = UserSession.documentElement.selectSingleNode("userinfo/@info_1").text

步骤五:在index.asp中,我们要展示新增的info_1信息。通过Response.write方法,我们可以将操作系统信息和新增的info_1信息一起展示给用户。这样,用户在访问网站时可以看到更多关于自己的信息。

步骤六:恭喜您圆满完成了Dv_User表的扩展!您的系统现在能够获取并使用用户的新增信息,更好地服务于用户,提升用户体验。

通过以上步骤,我们成功地扩展了Dv_User表,并更新了相关的函数和代码,以获取和使用新增的用户信息。这不仅能够满足实际需求,还能提升系统的功能和用户体验。

上一篇:微信JS接口汇总及使用详解 下一篇:没有了

Copyright © 2016-2025 www.168986.cn 狼蚁网络 版权所有 Power by