|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
ASP在国内异常流行,因为国内大多使用的是盗版的Windows和盗版的SQLServer,而ASP+COM+SQLServer实际上也是一种不错的搭配,其性能也不输于PHP+MYSQL,特别是Windows系统和SQLServer都有图形界面,比APACHE和MYSQL易于维护,因此对于不重视知识产权的国家来说也是一种不错的选择。 实践上,在web开辟中,cookie仅仅是一个文本文件,当用户会见站点时,它就被存储在用户利用的盘算机上,个中,保留了一些信息,当用户往后再次会见这个站点时,web可以将这些信息提掏出来。
虽然如今听起来cookie没有甚么冲动人心的,但实践上使用它,你能完成很多成心义的功效!好比说:你可以在站点上放置
一个查询拜访问答表,扣问会见者最喜好的色彩和字体,然后依据这些定制用户的web界面。而且,你还可以保留会见者的登录暗码,这
样,当会见者再次会见这个站点时,不必再输出暗码停止登录。
固然,cookie也有一些缺乏。起首,因为使用cookie的功效可以编程完成一些不良妄图,所以大多半的阅读器中都有平安设定,个中可以设置是不是答应或承受cookie,因而这就不克不及包管随时能利用cookie。再者,会见者能够成心或有意地删除cookie。当会见者的机械碰到“蓝屏”逝世机时,或从头格局化硬盘、装置体系后,本来保留的cookie将全体丧失。最初一点,有一些最后始的阅读器其实不能撑持cookie。
使用cooklie能做甚么?
有2种利用cookie的根基体例:
1、将cookie写入会见者的盘算机(利用 RESPONSE 号令)
2、从会见者的盘算机中取回cookie(利用 REQUEST 号令)
创立cookie的根基语法
Response.Cookies("CookieName")=value
履行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=Ken
Response.Cookies("VisitorName")="Ken"
履行上面的代码将会在会见者的盘算机中创立一个cookie,名字=VisitorName,值=表单中UserName的值
Response.Cookies("VisitorName")=Request.Form("UserName")
读取cookie的根基语法
Request.Cookies("CookieName")
可以将Request值看成一个变量对待,履行上面的代码,将取回名字为KensCookie的cookie值,并存入变量MyVar:
MyVar=Request.Cookies("KensCookie")
履行上面的代码,将判别名字为KensCookie的cookie值是不是为“Yes”:
If Request.Cookies("KensCookie")="Yes" then...
功效丰厚的cookie
你可以扩大下面的代码成为Cookie子关头值(CookieSubName),代码以下:
Response.Cookies("VisitorName")("FirstName")="Ken"
Response.Cookies("VisitorName")("LastName")="Baumbach"
解说例子前,最初会商2个概念:号令商定和利用到期工夫。
定名商定
同其他变量的定名一样,适合地、共同地定名cookie,有益于在法式中前后联贯地利用它。你可使用上面的1个或2个
cookie属性停止cookie变量的定名:
域属性(Domain):域属性标明cookie由哪一个网站发生或读取,默许情形下,cookie的域属性设置为发生它的网站,但你
也能够依据需求改动它。相干代码以下:Response.Cookies("CookieName").Domain = "www.mydomain.com"
途径属性(Path):途径属性可以完成更多的平安请求,经由过程设置网站上准确的途径,就可以限制cookie的利用局限。例如:
Response.Cookies("CookieName").Path = "/maindir/subdir/path"
利用到期工夫
凡是情形下,当阅读器封闭时,一个cookie就不存在了。然而在很多时分,好比上面将要会商的web站点例子,咱们但愿能更长工夫地在会见者的盘算机上保留cookie。很侥幸,有如许的完成办法。上面的代码,就能够设置cookie的利用到期工夫为2010年1月1日:
Response.Cookies("CookieName").Expires=#January 01, 2010#
履行上面的代码,将设定cookie的过时工夫为“cookie的创立工夫+365日”:
Response.Cookies("CookieName")=Date+365
利用cookie的实践例子
如今入手下手会商实践的例子。假定:你想做一个查询拜访,每一个人初度会见时需求填写好信息,然而当往后再会见时,就不需求再那末做。使用cookie,就能够十分美满地处理这个成绩,而大可不用用到数据库。
< %@ LANGUAGE="VBSCRIPT" % >
< %
Survey=Request.Cookies("KensSurvey")
If Survey ="" then
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#January 01, 2010#
Response.Redirect "survey.asp"
Else
'rest of the page
End if
% >
好,上面入手下手从头会商下面的代码。
起首,初始设置页面,并读取名字为KensSurvey的cookie值:
< %@ LANGUAGE="VBSCRIPT" % >
< %
Survey=Request.Cookies("KensSurvey")
然后,判别是不是已存在cookie值:
If Survey ="" then
假如不存在, 就创立并设置cookie,并转到页面survey.asp。 当下一次会见时,由于存在cookie值,就不会再转到survey.asp 页面。
Response.Cookies("KensSurvey")="x"
Response.Cookies("KensSurvey").Expires=#January 01, 2010#
Response.Redirect "survey.asp"
假如cookie已存在,那末会见者将履行页面中残剩的代码:
'rest of the page
End if
%>
例子2
这里有别的一个复杂的例子:当会见者第1次阅读某个站点时,向他们显示接待信息。代码以下:
< %@ LANGUAGE="VBSCRIPT" % >
< %
RequestName = Request.Form("Name")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
If RequestName < >"" or RequestLeaveMeAlone < >"" then
Response.Cookies("MySiteVisitorName") = RequestName
Response.Cookies("MySiteVisitorName").Expires = #January 01, 2010#
Response.Cookies("MySiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires = #January 01, 2010#
End if
VisitorName = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MySiteLeaveMeAlone")
If VisitorName ="" and LeaveMeAlone ="" then
% >
< HTML > < HEAD > < /HEAD >
< body bgcolor="#ccffff" text="black" link="navy" vlink="purple" >
< DIV ALIGN="CENTER" >
< form action="index.asp" method="POST" >
< H2 >Let's be friends< /H2 >
What's your name (leave blank and hit the Submit button if you don't want us to know)?
< input type="text" name="name" >< BR >< BR >
< input type="hidden" name="LeaveMeAlone" value="x" >
< input type="submit" value="Submit" >
< /FORM >
< /DIV >
< /BODY >
< %
End if
If VisitorName < > "" then
Response.write "Hi, " & VisitorName & "! I hope you are having a great day!"
End if
'rest of the page
% >
好,如今来看看下面的代码完成履行了甚么。起首,设置页面。然后,反省表单变量(在统一个页面中)。假如表单变量存在,就创立cookie,并设置到期工夫。
%@ LANGUAGE="VBSCRIPT" % >
< %
RequestName = Request.Form("Name")
RequestLeaveMeAlone = Request.Form("LeaveMeAlone")
If RequestName < >"" or RequestLeaveMeAlone < >"" then
Response.Cookies("MySiteVisitorName") = RequestName
Response.Cookies("MySiteVisitorName").Expires = #January 01, 2010#
Response.Cookies("MySiteLeaveMeAlone") = RequestLeaveMeAlone
Response.Cookies("MySiteLeaveMeAlone").Expires = #January 01, 2010#
End if
接着,读取cookie:
VisitorName = request.cookies("MySiteVisitorName")
LeaveMeAlone = request.cookies("MySiteLeaveMeAlone")
假如cookie在会见者的盘算机上不存在,就创立一个表单,扣问相干信息:
If VisitorName ="" and LeaveMeAlone ="" then
% >
< HTML >
< HEAD >
< /HEAD >
< body bgcolor="#ccffff" text="black" link="navy" vlink="purple" >
< DIV ALIGN="CENTER" >
< form action="index.asp" method="POST" >
< H2 >Let's be friends< /H2 >
What's your name (leave blank and hit the Submit button if you don't want us to know)?
< input type="text" name="name" >< br >< br >
< input type="hidden" name="LeaveMeAlone" value="x" >
< input type="submit" value="Submit" >
< /FORM >
< /DIV >
< /BODY >
< %
End if
假如cookie已存在,而且用户名字存在,就显示给会见者一个接待界面,然后履行其他的代码。
If VisitorName < > "" then
Response.write "Hi, " & VisitorName & "! I hope you are
having a great day!"
End if
'rest of the page
% >
虽然下面的这个例子很复杂,但可以从中扩大很多富有发明力的使用。你可以在表单中到场很多功效,以便定制化web站点。
你还可让会见者定制网站的色采、字体,以致于其他web元素。有能够的话,你可以扣问会见者的诞辰,当会见者在那一天来访
时,你就能够显示“诞辰康乐”的信息给他。
如你所见,cookie的扩大性是无量的,这篇文章仅仅是抛砖引玉。
强大的可扩展性。ASP具有强大的扩展性,可以实现与多种网络、硬件设备的连接:通过专用的通讯线路远程接入企业; 通过远程拨号服务器为远程拨号客户提供服务;通过WAP为移动电话互联网客户服务。 |
|