为了正常的体验网站,请在浏览器设置里面开启Javascript功能!

梦幻网页_登录用户服务器行为中应用COOKIES

2018-02-17 11页 doc 31KB 16阅读

用户头像

is_337177

暂无简介

举报
梦幻网页_登录用户服务器行为中应用COOKIES梦幻网页_登录用户服务器行为中应用COOKIES 登录用户服务器行为中应用COOKIES 登录用户服务器行为中应用COOKIES 来源:天极网 问:如何在DW MX登录用户服务器行为中应用COOKIES保存用户名和密码,并且能让用户选择保存时间, 操作步骤: 1、新建asp页,保存为“UserDa.asp”。 插入表单、两个文本域、一个按扭和一个列表菜单。 对应项目如下: 表单对象 文本域 名称 用 户 名: uesr 密码: pws 列表菜单: tima 列表表单 标签 值 不保存 0 保存一日 1 保存一月...
梦幻网页_登录用户服务器行为中应用COOKIES
梦幻网页_登录用户服务器行为中应用COOKIES 登录用户服务器行为中应用COOKIES 登录用户服务器行为中应用COOKIES 来源:天极网 问:如何在DW MX登录用户服务器行为中应用COOKIES保存用户名和密码,并且能让用户选择保存时间, 操作步骤: 1、新建asp页,保存为“UserDa.asp”。 插入表单、两个文本域、一个按扭和一个列表菜单。 对应项目如下: 表单对象 文本域 名称 用 户 名: uesr 密码: pws 列表菜单: tima 列表表单 标签 值 不保存 0 保存一日 1 保存一月 2 保存半年 3 保存一年 4 页面样式如下: 2、插入登录用户服务器行为,测试一下,保证能正常登录。 3、切换到“代码”视图,在这句的下面输入以下代码段: <%'以下代码为保存用户名和密码于cookies中 function ok()'定义函数,登录成功后, '调用该函数将用户名和密码写入本地COOKIES中 select case request.form("tima")'判断语句, '根据用户选择保存时间,设置本地COOKIES的过期时间 case 1 Response.Cookies("uesr").Expires=Date+1'设定COOKIES的过期时间, '当Date+1时保存一天,Date+365时即保存一年,依此类推;若删除此句, '则浏览器关闭后COOKIES失效 Response.Cookies("uesr")= request.form("uesr") '创建一个名为“uesr”的本地COOKIES,并把用户名写入其中 Response.Cookies("pws").Expires=Date+1'保存一日 response.Cookies("pws")=request.form("pws") case 2 Response.Cookies("uesr").Expires=Date+31'保存一月 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+31 response.Cookies("pws")=request.form("pws") case 3 Response.Cookies("uesr").Expires=Date+182'保存半年 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+182 response.Cookies("pws")=request.form("pws") case 4 Response.Cookies("uesr").Expires=Date+365'保存一年 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+365 response.Cookies("pws")=request.form("pws") end select end function'定义函数结束 %> 上面这段代码是自定义一个函数,函数名为ok(),用于将文本域信息写入本地COOKIES,下面通过函数名来调用它。 找到如下图所示代码(选中部分): 在这句代码下面输入函数名:“ok()”如下图(选中部 分): 这样,用户登录成功后,就把用户名和密码分别保存于本地COOKIES中了。为了用户下次登录时把COOKIES中的值读出来,在用户名和密码文本域中的初始值中中输入以下语句: <%=request.cookies("uesr")%> <%=request.cookies("pws")%> 如下图所示: 用户上次登录成功后用户名和密码自动保存于COOKIES中,再次登录时就把用户名和密码读出来,不用手工输入了。如下图所示: 上面的方法只利用了COOKIES保存信息,如果我要求当用户一次登录成功后,下次登录时只要请求登录页,就要自动登录了,如何做呢, 好的,继续做这个功能。 在“代码”视图中找到如下图所示代码(选中部分): 把Request.Form("pws")这句改为: MM_valPws 如下图: 这是自定义的一个变量名,DW MX的原始代码没有这个语句,我们来定义和赋值给该变量,往下看。 找到如下图所示的代码(选中部分): 在这句代码的下面输入: '手工添加代在此开始 if request.cookies("uesr")<>"" then'添加判断语句,检查本地COOKIES是否保存有数据 MM_valUsername=request.cookies("uesr")'读取COOKIES的uesr中的用户名并赋值给变量MM_valUsername MM_valPws=request.cookies("pws")'读取COOKIES的uesr中的密码并赋值给量MM_valPws else'若本地的COOKIES中没有保存有数据,则转为正常登录'用户须要手工输入用户名和密码才能登录 MM_valUsername=CStr(Request.Form("uesr")) MM_valPws=Request.Form("pws")'这句为自己手工添加的变量,用于接收表单“密码”文本域的值,DW MX的原始代码中没有这个语句 end if '手工添加代到此结束 添加位置如下(选中部分): 把上图的第51句“MM_valUsername=CStr(Request.Form("uesr"))”删除掉。 继续寻找以下代码(选中部分): 则是刚才添加进去的函数名,在其上下各添加一个判断语句,如下图: 这个判断语句的作用,如果用户上次登录时保存于COOKIES有值,则这次自动登录成功后就不用覆盖原来COOKIES的值。 好了,如果上次登录时已选择保存COOKES了,这次按“F12”就自动登录了,呵呵,多爽~ 还有,如果我想在首页中自动登录,而不用请求登录页了,那又如何作呢,,, 我晕~~你的要求还真苛刻,非把我累死才甘心,,,好吧,俺尚存一点气息,再做你这个功能吧。 操作步骤: 1、打开你的index.asp页,在页面的最顶部即第一行输入以下语句: <%if Session("MM_Username")="" and request.cookies("uesr")<>"" then response.Redirect("UserDa.asp?us=ok") end if %> 这个语句的意思是,当阶段变量Session("MM_Username")的值为空和本地COOKIES有值时,自动转向登录页进行登录验证,代码中有一个us=ok的URL参数,这个用于转到登录页后,切换MM_redirectLoginSuccess="aa.asp"为MM_redirectLoginSuccess="index.asp"验证通过后又自动返回首页。 这里要注意的一个问是,当用户第一次请求首页时自动登录由于页面往返转了两次,速度会有所下降。但登录后就不受影响了。 2、关于那个切换MM_redirectLoginSuccess="aa.asp"为MM_redirectLoginSuccess="index.asp"的语句,要在登录页中修改,打开登录页UserDa.asp,找到这句: 把它改成: if Request.QueryString("us")="ok" then MM_redirectLoginSuccess="index.asp" else MM_redirectLoginSuccess="aa.asp" end if 如下图所示: 到此,有关于在DW MX的登录用户服务器行为中应用COOKIES的问题到解答完毕了,如果你还有其它疑问,欢迎你到本人的论坛或UDSKY论坛发贴获得技术支持。 下面是整页源代码,读者可根据注释理解: <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <%'以下代码为保存用户名和密码于cookies中 function ok()'定义函数,登录成功后, '调用该函数将用户名和密码写入本地COOKIES中 select case request.form("tima")'判断语句, '根据用户选择保存时间,设置本地COOKIES的过期时间 case 1 Response.Cookies("uesr").Expires=Date+1'设定COOKIES的过期时间, '当Date+1时保存一天,Date+365时即保存一年,依此类推;若删除此句, '则浏览器关闭后COOKIES失效 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+1 response.Cookies("pws")=request.form("pws") case 2 Response.Cookies("uesr").Expires=Date+31 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+31 response.Cookies("pws")=request.form("pws") case 3 Response.Cookies("uesr").Expires=Date+182 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+182 response.Cookies("pws")=request.form("pws") case 4 Response.Cookies("uesr").Expires=Date+365 Response.Cookies("uesr")= request.form("uesr") Response.Cookies("pws").Expires=Date+365 response.Cookies("pws")=request.form("pws") end select end function'定义函数结束 %> <% ' *** Validate request to log in to this site. MM_LoginAction = Request.ServerVariables("URL") If Request.QueryString<>"" Then MM_LoginAction = MM_LoginAction + "?" + Request.QueryString '手工添加代在此开始 if request.cookies("uesr")<>"" then'添加判断语句,检查本地COOKIES是否保存有数据 MM_valUsername=request.cookies("uesr")'读取COOKIES的uesr中的用户名并赋值给变量MM_valUsername MM_valPws=request.cookies("pws")'读取COOKIES的uesr中的密码并赋值给量MM_valPws else'若本地的COOKIES中没有保存有数据,则转为正常登录'用户须要手工输入用户名和密码才能登录 MM_valUsername=CStr(Request.Form("uesr")) MM_valPws=Request.Form("pws")'这句为自己手工添加的变量,用于接收表单“密码”文本域的值,DW MX的原始代码中没有这个语句 end if '手工添加代码到此结束 If MM_valUsername <> "" Then MM_fldUserAuthorization="" if Request.QueryString("us")="ok" then MM_redirectLoginSuccess="index.asp" else MM_redirectLoginSuccess="aa.asp" end if MM_redirectLoginFailed="no.asp" MM_flag="ADODB.Recordset" set MM_rsUser = Server.CreateObject(MM_flag) MM_rsUser.ActiveConnection = MM_new_STRING MM_rsUser.Source = "SELECT uesr, pws" If MM_fldUserAuthorization <> "" Then MM_rsUser.Source = MM_rsUser.Source & "," & MM_fldUserAuthorization MM_rsUser.Source = MM_rsUser.Source & " FROM use WHERE uesr='" & Replace(MM_valUsername,"'","''") &"' AND pws='" & Replace(MM_valPws,"'","''") & "'" MM_rsUser.CursorType = 0 MM_rsUser.CursorLocation = 2 MM_rsUser.LockType = 3 MM_rsUser.Open If Not MM_rsUser.EOF Or Not MM_rsUser.BOF Then ' username and password match - this is a valid user Session("MM_Username") = MM_valUsername if request.cookies("uesr")="" then '这个语句的意思是,当自动登录成后,就不用覆盖原来COOKIES的值了 ok()'用户登录成功了,立即调用函数将用户名和密码信息写入本地COOKIES中 end if If (MM_fldUserAuthorization <> "") Then Session("MM_UserAuthorization") = CStr(MM_rsUser.Fields.Item(MM_fldUserAuthorization).Value) Else Session("MM_UserAuthorization") = "" End If if CStr(Request.QueryString("accessdenied")) <> "" And false Then MM_redirectLoginSuccess = Request.QueryString("accessdenied") End If MM_rsUser.Close Response.Redirect(MM_redirectLoginSuccess) End If MM_rsUser.Close Response.Redirect(MM_redirectLoginFailed) End If %> 登录用户COOKIES的应用

">

">

以上是登录页的源代码,出于安全考虑,有必要做一个注销页,当用户退出时,提问用户是否删除本地COOKIES。 注销页源代码:文件名为“Withdraw.asp” <%@LANGUAGE="VBSCRIPT" CODEPAGE="936"%> <% Session.Contents.Remove("MM_Username") Session.Contents.Remove("MM_UserAuthorization") Session.Contents.Remove("Webmaster") %> <%if request("DeleteCookies")="yes" and request.cookies("uesr")<>"" then response.cookies("uesr")="" response.cookies("pws")="" response.cookies("tame")="0" txt="cookies删除成功~" elseif request("DeleteCookies")="yes" and request.cookies("uesr")="" then txt="对不起~你本地的cookies并没有保存用户名和密码信息。

"&_ "

删除cookies" else txt="谢谢光临,你已成功退出论坛,是否删除本地cookies保存的用户名和密码信息,

"&_ "

删除cookies" end if %> 退出成功~

 

<%=txt%> 

返回

那个页面须要注销用户时,链接到这个页即可。 -------------------- 制作工具:小说下载阅读器
/
本文档为【梦幻网页_登录用户服务器行为中应用COOKIES】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。 本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。 网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。

历史搜索

    清空历史搜索