标题:cookies的问题
只看楼主
tao499549943
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-9
结帖率:0
已结贴  问题点数:20 回复次数:10 
cookies的问题
我是初学者,下面是自己写的代码
表单部分:
<html>
<body>
 <Form name="TestCookies" method="post" action="cookies程序.asp">
 <p>请输入您的姓名:<input type="text" name="txtName" size="6" maxlength="15">
 <p>请输入您的性别:<input type="Radio" name="rdoSex" value="male">男
                    <input type="Radio" name="rdoSex" value="female">女
 <p>请选择cookies的时间:<input type="Radio" name="rdoCT" value="7">一周
                         <input type="Radio" name="rdoCT" value="30">一个月
                         <input type="Radio" name="rdoCT" value="365">一年
 <p><input type="submit" name="btnSubmit" value="提交">
    <input type="reset" name="btnReset" value="取消">
 </Form>
</body>
</html>

程序部分:
<%Response.Buffer=True%>
<%
 Dim txtName,rdoSex,rdoCT,VarNum
 VarNum=Request.Cookies("intVisit")
 txtName=Request.Cookies("txtName")
 rdoSex=Request.Cookies("rdoSex")
 rdoCT=Request.Cookies("rdoCT")
 IF VarNum<>"" AND txtName<>"" AND rdoSex<>"" AND rdoCT<>"" Then
 VarNum=cInt(VarNum)+1

 txtName=Request.Form("txtName")
 rdoSex=Request.Form("rdoSex")
 rdoCT=Request.Form("rdoCT")
 Response.Cookies("intVisit")=VarNum
 Response.Cookies("txtName")=txtName
 Response.Cookies("rdoSex")=rdoSex
 
 Response.Cookies("intVisit").Expires=DateAdd("d",cInt(rdoCT),date())
 Response.Cookies("rdoCT").Expires=DateAdd("d",cInt(rdoCT),date())
 Response.Cookies("txtName").Expires=DateAdd("d",cInt(rdoCT),date())
 Response.Cookies("rdoSex").Expires=DateAdd("d",cInt(rdoCT),date())

 Select Case rdoSex
 Case "male"
 Response.Write txtName & "先生您好,你是第" & VarNum & "次光临本站"
 Case "female"
 Response.Write txtName & "小姐您好,你是第" & VarNum & "次光临本站"
 End Select
 
 Else
 Response.Redirect "cookies.asp"
 End If
%>
当用户第一次访问程序部分时,要求用户注册,然后把注册信息保存到cookies里,第二次访问是提示“XX先生/小姐您好,这是您第N次访问本站”

我是自学ASP的,程序部分弄了半天还没写出来,不要笑我笨,因为才学了两个月。大家能不能帮忙改改程序部分,谢谢了
搜索更多相关主题的帖子: cookies 
2010-09-09 12:36
tao499549943
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-9
得分:0 
没人帮忙
2010-09-09 12:43
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
按你的代码来看,第一次COOKIES里没有值,就直接跳到cookies.asp

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-09-10 09:14
tao499549943
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-9
得分:0 
嗯,我知道,程序部分是错误的。我就是不知道用什么方法实现哪个功能
2010-09-10 10:45
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:20 
程序部分:
<%Response.Buffer=True%>
<%
Dim txtName,rdoSex,rdoCT,VarNum
VarNum=Request.Cookies("intVisit")
txtName=Request.Cookies("txtName")
rdoSex=Request.Cookies("rdoSex")
rdoCT=Request.Cookies("rdoCT")
IF VarNum<>"" AND txtName<>"" AND rdoSex<>"" AND rdoCT<>"" Then
VarNum=cInt(VarNum)+1
Else
VarNum=1
End If
txtName=Request.Form("txtName")
rdoSex=Request.Form("rdoSex")
rdoCT=Request.Form("rdoCT")
Response.Cookies("intVisit")=VarNum
Response.Cookies("txtName")=txtName
Response.Cookies("rdoSex")=rdoSex

Response.Cookies("intVisit").Expires=DateAdd("d",cInt(rdoCT),date())
Response.Cookies("rdoCT").Expires=DateAdd("d",cInt(rdoCT),date())
Response.Cookies("txtName").Expires=DateAdd("d",cInt(rdoCT),date())
Response.Cookies("rdoSex").Expires=DateAdd("d",cInt(rdoCT),date())

Select Case rdoSex
Case "male"
Response.Write txtName & "先生您好,你是第" & VarNum & "次光临本站"
Case "female"
Response.Write txtName & "小姐您好,你是第" & VarNum & "次光临本站"
End Select


%>

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-09-10 15:22
tao499549943
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-9
得分:0 
没有成功,不过还是谢谢版主hams了,很热情。
2010-09-10 23:39
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
<%Response.Buffer=True%>
<%
Dim txtName,rdoSex,rdoCT,VarNum
VarNum=Request.Cookies("intVisit")
txtName=Request.Cookies("txtName")
rdoSex=Request.Cookies("rdoSex")
rdoCT=Request.Cookies("rdoCT")
IF VarNum<>"" AND txtName<>"" AND rdoSex<>"" AND rdoCT<>"" Then
VarNum=cInt(VarNum)+1
Else
VarNum=1
txtName=Request.Form("txtName")
rdoSex=Request.Form("rdoSex")
rdoCT=Request.Form("rdoCT")
End If
Response.Cookies("intVisit")=VarNum
Response.Cookies("txtName")=txtName
Response.Cookies("rdoSex")=rdoSex

Response.Cookies("intVisit").Expires=DateAdd("d",cInt(rdoCT),date())
Response.Cookies("rdoCT").Expires=DateAdd("d",cInt(rdoCT),date())
Response.Cookies("txtName").Expires=DateAdd("d",cInt(rdoCT),date())
Response.Cookies("rdoSex").Expires=DateAdd("d",cInt(rdoCT),date())

Select Case rdoSex
Case "male"
Response.Write txtName & "先生您好,你是第" & VarNum & "次光临本站"
Case "female"
Response.Write txtName & "小姐您好,你是第" & VarNum & "次光临本站"
End Select


%>

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-09-11 11:10
tao499549943
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-9
得分:0 
我在摆渡上找到了一个类似的答案,但是还是有些问题,比如没有提交后不能直接显示第几次访问,而是第二次刷新时才会显示“你是第二次访问”。下面是代码。
还是不会弄啊,好悲剧。我想要的效果是用两个页面实现,第一次访问可以自动跳转注册页面的
<html>
 <body>
  <%
   If Request.Cookies("user")="" Then
   '如果是第一次访问,就让客户填写有关信息
   Response.Write "您好,您是第一次访问本站,请填写个人信息"
  %>
  <form action="" method="post">
   请输入姓名 : <input type="text" name="user_name">
   请选择性别 : <input type="radio" name="sex" value="男">男
   <input type="radio" name="sex" value="女">女
   <input type="submit" value="提交">
  </form>
  <%
   Elseif Request.Cookies("user")("vNumber")>=1 Then
    '如果不是第一次访问,就令访问次数在原有次数上加1
    Dim vNumber '定义一个访问次数变量
    Dim user_name
    Dim sex
    vNumber=Request.Cookies("user")("vNumber")
    user_name=Request.Cookies("user")("user_name")
    sex=Request.Cookies("user")("sex")
    Response.Cookies("user")("vNumber")=vNumber+1 '将访问次数加1.保存到 Cookies 中
    Response.Cookies("user")("user_name")=user_name
    Response.Cookies("user")("sex")=sex
    Response.Cookies("user").Expires=#2030-1-1# '设置有效期为20年,其实也没必要这么长
    Response.Write Request.Cookies("user")("user_name")&"您好,您是第"&(vNumber+1)&"次访问本站"
   End If
   
   '如果提交表单后执行如下语句
   If Request.Form("user_name")<>"" And Request.Form("sex")<>"" Then
    Response.Cookies("user")("user_name")=Request.Form("user_name")
    Response.Cookies("user")("sex")=Request.Form("sex")
    Response.Cookies("user")("vNumber")=1
    Response.Cookies("user").Expires=#2030-1-1#
   End If
  %>
 </body>
</html>  
2010-09-15 18:01
hams
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:18
帖 子:912
专家分:3670
注 册:2008-7-30
得分:0 
最后提供给你的代码不能用么?

俺不高手,俺也是来学习的。
俺的意见不一定就对,当你不认同时请点忽视按钮。
当走到十字路口不知该如何走时,可在论坛问下路,但你若希望别人能一路把你送到目的地,显然是不现实的,因为别人也有自己要走的路。
2010-09-15 21:58
tao499549943
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2010-9-9
得分:0 
嗯,还是不能用。
要求是这个:
当用户第一次访问程序部分时,如果没有cookies值就跳转注册页面,要求用户注册,然后把注册信息保存到cookies里,第二次访问是提示“XX先生/小姐您好,这是您第N次访问本站”
我想要的效果是用两个页面实现,第一次访问可以自动跳转注册页面的
2010-09-16 12:23



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-319730-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.019710 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved