AJAX登录并增加选择COOKIES保存时限功能(9/27增加是否换IP保存登录)
作者:小戒 日期:2008-09-27
分别打开header.asp和Template/static.htm,分别找到:
复制内容到剪贴板
程序代码
程序代码 <script type="text/javascript" src="common/common.js"></script>
分别在上面插入一行:
复制内容到剪贴板
程序代码
程序代码 <script type="text/javascript" src="common/ajax.js"></script>
打开common/library.asp,找到:
复制内容到剪贴板
程序代码
程序代码Function userPanel()
userPanel = ""
If memName<>Empty Then userPanel = userPanel&" <b>"&memName&"</b>,欢迎你!<br/>你的权限: "&stat_title&"<br/><br/>"
If stat_Admin = True Then userPanel = userPanel + "<a href=""control.asp"" target=""_blank"" class=""sideA"" accesskey=""3"">系统管理</a>"
If stat_AddAll = True or stat_Add = True Then userPanel = userPanel + "<a href=""blogpost.asp"" class=""sideA"" accesskey=""N"">发表新日志</a>"
If (stat_AddAll = True or stat_Add = True) And (stat_EditAll or stat_Edit) Then
If IsEmpty(session(CookieName&"_draft_"&memName)) Then
session(CookieName&"_draft_"&memName) = conn.Execute("select count(log_ID) from blog_Content where log_Author='"&memName&"' and log_IsDraft=true")(0)
SQLQueryNums = SQLQueryNums + 1
End If
If session(CookieName&"_draft_"&memName)>0 Then
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D""><strong>编辑草稿 ["&session(CookieName&"_draft_"&memName)&"]</strong></a>"
Else
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D"">编辑草稿</a>"
End If
End If
If memName<>Empty Then
userPanel = userPanel&"<a href=""member.asp?action=edit"" class=""sideA"" accesskey=""M"">修改个人资料</a><a href=""login.asp?action=logout"" class=""sideA"" accesskey=""Q"">退出系统</a>"
Else
userPanel = userPanel&"<a href=""login.asp"" class=""sideA"" accesskey=""L"">登录</a><a href=""register.asp"" class=""sideA"" accesskey=""U"">用户注册</a>"
End If
End Function
userPanel = ""
If memName<>Empty Then userPanel = userPanel&" <b>"&memName&"</b>,欢迎你!<br/>你的权限: "&stat_title&"<br/><br/>"
If stat_Admin = True Then userPanel = userPanel + "<a href=""control.asp"" target=""_blank"" class=""sideA"" accesskey=""3"">系统管理</a>"
If stat_AddAll = True or stat_Add = True Then userPanel = userPanel + "<a href=""blogpost.asp"" class=""sideA"" accesskey=""N"">发表新日志</a>"
If (stat_AddAll = True or stat_Add = True) And (stat_EditAll or stat_Edit) Then
If IsEmpty(session(CookieName&"_draft_"&memName)) Then
session(CookieName&"_draft_"&memName) = conn.Execute("select count(log_ID) from blog_Content where log_Author='"&memName&"' and log_IsDraft=true")(0)
SQLQueryNums = SQLQueryNums + 1
End If
If session(CookieName&"_draft_"&memName)>0 Then
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D""><strong>编辑草稿 ["&session(CookieName&"_draft_"&memName)&"]</strong></a>"
Else
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D"">编辑草稿</a>"
End If
End If
If memName<>Empty Then
userPanel = userPanel&"<a href=""member.asp?action=edit"" class=""sideA"" accesskey=""M"">修改个人资料</a><a href=""login.asp?action=logout"" class=""sideA"" accesskey=""Q"">退出系统</a>"
Else
userPanel = userPanel&"<a href=""login.asp"" class=""sideA"" accesskey=""L"">登录</a><a href=""register.asp"" class=""sideA"" accesskey=""U"">用户注册</a>"
End If
End Function
全部修改为:
复制内容到剪贴板
程序代码
程序代码Function userPanel()
userPanel = ""
If memName<>Empty Then userPanel = userPanel&" <b>"&memName&"</b>,欢迎你!<br/>你的权限: "&stat_title&"<br/><br/>"
If stat_Admin = True Then userPanel = userPanel + "<a href=""control.asp"" target=""_blank"" class=""sideA"" accesskey=""3"">系统管理</a>"
If stat_AddAll = True or stat_Add = True Then userPanel = userPanel + "<a href=""blogpost.asp"" class=""sideA"" accesskey=""N"">发表新日志</a>"
If (stat_AddAll = True or stat_Add = True) And (stat_EditAll or stat_Edit) Then
If IsEmpty(session(CookieName&"_draft_"&memName)) Then
session(CookieName&"_draft_"&memName) = conn.Execute("select count(log_ID) from blog_Content where log_Author='"&memName&"' and log_IsDraft=true")(0)
SQLQueryNums = SQLQueryNums + 1
End If
If session(CookieName&"_draft_"&memName)>0 Then
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D""><strong>编辑草稿 ["&session(CookieName&"_draft_"&memName)&"]</strong></a>"
Else
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D"">编辑草稿</a>"
End If
End If
If memName<>Empty Then
userPanel = userPanel&"<a href=""member.asp?action=edit"" class=""sideA"" accesskey=""M"">修改个人资料</a><a href=""JavaScript:void(0);"" onclick=""AJAXLogout()"" class=""sideA"" accesskey=""Q"">退出系统</a>"
Else
userPanel=userPanel&"<label><b>用户名︰</b><input type=""text"" id=""AJAXLoginUserName"" class=""userpass"" size=""12""/></label><br/><label><B>密 码︰</B><input type=""password"" id=""AJAXLoginPassword"" class=""userpass"" size=""12""/></label><br/><label><B>保 存︰</B></label><select size=""1"" id=""AJAXKeepLogin""><option selected=""selected"" value=""0"">不保存</option><option value=""1"">一天</option><option value=""7"">一星期</option><option value=""30"">一个月</option><option value=""365"">一年</option></select><p/><center><a href=""JavaScript:void(0);"" onclick=""AJAXLogin();"" accesskey=""L"">登录</a> <a href=""register.asp"" accesskey=""U"">用户注册</a></center><br /><span id=""AJAXMsg"" style=""font-weight:bold;color:#FF0000;""></span>"
End If
End Function
userPanel = ""
If memName<>Empty Then userPanel = userPanel&" <b>"&memName&"</b>,欢迎你!<br/>你的权限: "&stat_title&"<br/><br/>"
If stat_Admin = True Then userPanel = userPanel + "<a href=""control.asp"" target=""_blank"" class=""sideA"" accesskey=""3"">系统管理</a>"
If stat_AddAll = True or stat_Add = True Then userPanel = userPanel + "<a href=""blogpost.asp"" class=""sideA"" accesskey=""N"">发表新日志</a>"
If (stat_AddAll = True or stat_Add = True) And (stat_EditAll or stat_Edit) Then
If IsEmpty(session(CookieName&"_draft_"&memName)) Then
session(CookieName&"_draft_"&memName) = conn.Execute("select count(log_ID) from blog_Content where log_Author='"&memName&"' and log_IsDraft=true")(0)
SQLQueryNums = SQLQueryNums + 1
End If
If session(CookieName&"_draft_"&memName)>0 Then
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D""><strong>编辑草稿 ["&session(CookieName&"_draft_"&memName)&"]</strong></a>"
Else
userPanel = userPanel + "<a href=""default.asp?display=draft"" class=""sideA"" accesskey=""D"">编辑草稿</a>"
End If
End If
If memName<>Empty Then
userPanel = userPanel&"<a href=""member.asp?action=edit"" class=""sideA"" accesskey=""M"">修改个人资料</a><a href=""JavaScript:void(0);"" onclick=""AJAXLogout()"" class=""sideA"" accesskey=""Q"">退出系统</a>"
Else
userPanel=userPanel&"<label><b>用户名︰</b><input type=""text"" id=""AJAXLoginUserName"" class=""userpass"" size=""12""/></label><br/><label><B>密 码︰</B><input type=""password"" id=""AJAXLoginPassword"" class=""userpass"" size=""12""/></label><br/><label><B>保 存︰</B></label><select size=""1"" id=""AJAXKeepLogin""><option selected=""selected"" value=""0"">不保存</option><option value=""1"">一天</option><option value=""7"">一星期</option><option value=""30"">一个月</option><option value=""365"">一年</option></select><p/><center><a href=""JavaScript:void(0);"" onclick=""AJAXLogin();"" accesskey=""L"">登录</a> <a href=""register.asp"" accesskey=""U"">用户注册</a></center><br /><span id=""AJAXMsg"" style=""font-weight:bold;color:#FF0000;""></span>"
End If
End Function
打开common/checkuser.asp,找到:
复制内容到剪贴板
程序代码
程序代码 If Request.Form("KeepLogin") = "1" Then Response.Cookies(CookieName).Expires = Date+365
注意:有两处,全部修改为:
复制内容到剪贴板
程序代码
程序代码 If int(Request.Form("AJAXKeepLogin")) > 0 Then
Response.Cookies(CookieName).Expires = Date+int(Request.Form("AJAXKeepLogin"))
Response.Cookies(CookieName)("exp") = DateAdd("d", int(Request.Form("AJAXKeepLogin")), date())
End If
Response.Cookies(CookieName).Expires = Date+int(Request.Form("AJAXKeepLogin"))
Response.Cookies(CookieName)("exp") = DateAdd("d", int(Request.Form("AJAXKeepLogin")), date())
End If
找到:(更换IP后如果需要继续保存登录修改下面部分,否则跳过。)
复制内容到剪贴板
程序代码
程序代码 If CheckCookie("mem_LastIP")<>Guest_IP or IsNull(CheckCookie("mem_LastIP")) Then
logout(True)
Else
memName = CheckStr(Request.Cookies(CookieName)("memName"))
memStatus = CheckCookie("mem_Status")
End If
logout(True)
Else
memName = CheckStr(Request.Cookies(CookieName)("memName"))
memStatus = CheckCookie("mem_Status")
End If
替换为:
复制内容到剪贴板
程序代码
程序代码' If CheckCookie("mem_LastIP")<>Guest_IP or IsNull(CheckCookie("mem_LastIP")) Then
' logout(True)
' Else
memName = CheckStr(Request.Cookies(CookieName)("memName"))
memStatus = CheckCookie("mem_Status")
' End If
' logout(True)
' Else
memName = CheckStr(Request.Cookies(CookieName)("memName"))
memStatus = CheckCookie("mem_Status")
' End If
打开common/cache.asp,找到:
复制内容到剪贴板
程序代码
程序代码 Response.Cookies(CookieName)("memRight") = StatusCode
替换为:
复制内容到剪贴板
程序代码
程序代码 Response.Cookies(CookieName)("memRight") = StatusCode
If Request.Cookies(CookieName)("exp")<>"" Then
Response.Cookies(CookieName).Expires = Date + DateDiff("d",Date(),Request.Cookies(CookieName)("exp"))
End If
If Request.Cookies(CookieName)("exp")<>"" Then
Response.Cookies(CookieName).Expires = Date + DateDiff("d",Date(),Request.Cookies(CookieName)("exp"))
End If
打开login.asp,找到:
复制内容到剪贴板
程序代码
程序代码 <label><input name="KeepLogin" type="checkbox" value="1"/>记住我的登录信息</label><br/>
修改成:
复制内容到剪贴板
程序代码
程序代码<label>保 存:<select size="1" id="AJAXKeepLogin"><option selected="selected" value="0">不保存</option><option value="1">一天</option><option value="7">一星期</option><option value="30">一个月</option><option value="365">一年</option></select></label><br />
下载压缩包,解压至博客根目录




点击下载此文件
[本日志由 小戒 于 2008-09-27 11:34 AM 编辑]
收藏到QQ书签
文章来自: 本站原创
引用通告: 查看所有引用 | 我要引用此文章
Tags: ajax cookies 登录 PJBLOG
收藏到QQ书签
文章来自: 本站原创
Tags: ajax cookies 登录 PJBLOG 评论: 9 | 引用: 0 | 查看次数: -
回复
[2008-12-09 10:24 AM |
]咋你的可以类
不是戒哥代码的问题..
现在后台不能登陆了..
后台怎么不能登录?这里的修改没涉及到后台啊。
试试这个没有验证码的看看哈...
不知道是不是修改太多了..
博客现在输入验证码都是提示错误...
郁闷啊..
好几天都没有更新了..
我试试戒哥的这个方法...
修改失败。。。服务器500错误。。。汗
小戒 于 [2008-10-18 11:03 AM] 回复
很多人都成功了噢。仔细对照着修改。
呵呵,
我使用了
很长时间来一直寻找好东西啊,
我的博客一直有问题:在公司固定IP的局域网上登陆没问题,在家里是ADSL的局域网上却老是明明显示登陆了,自动返回到首页又是没登陆状态,这个毛病总算解决了啊!!!!
小戒 于 [2008-10-05 11:15 AM] 回复
我使用了
很长时间来一直寻找好东西啊,
我的博客一直有问题:在公司固定IP的局域网上登陆没问题,在家里是ADSL的局域网上却老是明明显示登陆了,自动返回到首页又是没登陆状态,这个毛病总算解决了啊!!!!
呵呵。
博主 你好
能不能把验证码
再加到这个 无刷新 登录里面?
谢谢
xsleaf@126.com
小戒 于 [2008-09-28 11:07 PM] 回复
能不能把验证码
再加到这个 无刷新 登录里面?
谢谢
xsleaf@126.com
比较麻烦,这样在评论和登录时第一次都会产生验证码错误的问题。会冲突的。
压缩包里的 ajax.js 文件
需要另存一下 为utf-8 格式的 才能正常使用
否则 会出现乱码
小戒 于 [2008-09-27 10:59 PM] 回复
需要另存一下 为utf-8 格式的 才能正常使用
否则 会出现乱码
恩。是的。谢谢提醒,已经更改了。重新下载就好了。
发表评论
上一篇
下一篇

