登陆页面出现2个问题!小女子有礼了!
<%
uerName=request.Form("userName")
pwd=request.Form("pwd")
myDate=request.Form("KeepDate")
response.Cookies("uerName")=userName
response.Cookies("pwd")=pwd
response.Cookies("uerName").expires=Date +KeepDate
response.Cookies("pwd").expires=Date +KeepDate
if request.Cookies("userName")="" or request.Cookies("pwd") ="" then
response.Redirect("login.asp")
end if
if request.Cookies("userName")<>"lyh" then
response.Redirect("login.asp")
end if
%>
<html>
<body>
<form name=form1 method=post action="#">
<input type=text name="userName" value="<%=request.Cookies("userName")%>">
<input type=password name="pwd" >
<select name="KeepDate" >
<option selected value="7">一个星期</option>
<option value="90">三个月</option>
<option value="365">一年</option>
</select>
<input type=submit name="submmit1" value ="登陆">
</form>
</body>
</thml>
小女遇到2个问题:(没有连接数据库)
第一是我写的cookies为什么在C盘Cookies文件夹里找不到我写入的Cookies文件,所以我设置response.Cookies("uerName").expires=Date +KeepDate 也没有起作用?
第二个是为什么我一运行页面就进入了一个死循环里?
初学习ASP快晕了.
问题点数:20、回复次数:50Top
1 楼youyu529()回复于 2006-05-27 21:04:08 得分 0
有点严重了
Top
2 楼lyh_flowing()回复于 2006-05-27 21:06:31 得分 0
什么问题啊?
Top
3 楼slawdan(select 大便 from 粪池 where 蛆数<10)回复于 2006-05-27 21:13:36 得分 0
这个页面就是login.asp吧?
你判断cookie不存在,就重定向到login.asp也就是这个页面,它不死循环就奇怪了~
cookies我很少用~,为什么出问题帮不了你了~
顺便,
</thml>
这个html拼写错误~Top
4 楼lyh_flowing()回复于 2006-05-27 21:23:49 得分 0
那你都用Session吗?那我应该怎么改呢?谢谢提醒!Top
5 楼slawdan(select 大便 from 粪池 where 蛆数<10)回复于 2006-05-27 21:52:20 得分 0
因为没写过需要用cookie的,只写过管理登录这种最好使用session的,所以不晓得~
呵呵
改起来很简单
基本上把 response.cookies 改成 session就行了,而且不需要指定expires,去掉那两条expires的就可以了Top
6 楼FEB15(张郎)回复于 2006-05-27 22:10:12 得分 0
并没看见循环啊?
如果Cookies没有值,那么换台机器访问看看Top
7 楼lyh_flowing()回复于 2006-05-27 22:10:39 得分 0
<%
uerName=request.Form("userName")
pwd=request.Form("pwd")
myDate=request.Form("KeepDate")
session("uerName")=userName
session("pwd")=pwd
'session("uerName").expires=Date +KeepDate
'session("pwd").expires=Date +myDate
if session("userName")="" or session("pwd") ="" then
response.Redirect("login.asp")
end if
if session("userName")<>"lyh" and session("pwd") <>"123" then
response.Redirect("login.asp")
end if
%>
<html>
<body>
<form name=form1 method=post action="#">
<input type=text name="userName" value="<%=session("userName")%>">
<input type=password name="pwd" >
<select name="KeepDate" >
<option selected value="7">一个星期</option>
<option value="90">三个月</option>
<option value="365">一年</option>
</select>
<input type=submit name="submmit1" value ="登陆">
</form>
</body>
</thml>
我把cookies替换成session但是还是出现死循环,如不指定expires那怎样实现下次登陆时不用再次输入用户名和密码?
望多多指教~!Top
8 楼lyh_flowing()回复于 2006-05-27 22:13:51 得分 0
我运行就不断的有循环啊!是不是因为我一开始运行用户名和密码就为空原因?Top
9 楼FEB15(张郎)回复于 2006-05-27 22:27:09 得分 0
难道你的if判断是本页到本页?如果这样变量没提交就判断肯定是死转啦,值都没怎么判断Top
10 楼FEB15(张郎)回复于 2006-05-27 22:28:08 得分 0
多加判断一个变量,比如判断Submit是否有值,有值代表提交过,那么再判断该判断的Top
11 楼slawdan(select 大便 from 粪池 where 蛆数<10)回复于 2006-05-27 22:33:31 得分 0
if session("userName")="" or session("pwd") ="" then
response.Redirect("login.asp")
end if
if session("userName")<>"lyh" and session("pwd") <>"123" then
response.Redirect("login.asp")
end if
这两段代码有问题~新打开一个页面的时候, session("userName")="" 和 session("pwd") ="" 和 session("userName")<>"lyh" and session("pwd") <>"123" 至少有一个条件为真,然后就 response.redirect "login.asp" 循环回来了~
看了下cookie的用法
楼主mm写错了,不是response.cookies,而是request.cookies,因为是写在客户端的,呵呵
Top
12 楼lyh_flowing()回复于 2006-05-27 23:06:48 得分 0
先谢谢各位的指点先!我再试试看~ 看有什么问题然后在请教各位。 怎么称呼呢?Top
13 楼hanpoyangtitan(韩波洋)回复于 2006-05-27 23:26:50 得分 0
首先,reponse.cookies("xxx")没有错,我看是这样
你把你的表单和处理脚本分开文件,或者你给你的处理脚本加上条件判断
你这个页面,进来cookies都是空的,总是跳转到这个页面( 如果这个文件是login.asp)的话,每次进来都是空的,当然是死循环
建议:
代码如下
<%
uerName=request.Form("userName")
pwd=request.Form("pwd")
myDate=request.Form("KeepDate")
action=Request.QueryString("action")
if action="chklogin" then
chklogin
end if
sub login
response.Cookies("uerName")=userName
response.Cookies("pwd")=pwd
response.Cookies("uerName").expires=Date +KeepDate
response.Cookies("pwd").expires=Date +KeepDate
if request.Cookies("userName")="" or request.Cookies("pwd") ="" then
response.Redirect("login.asp")
end if
if request.Cookies("userName")<>"lyh" then
response.Redirect("login.asp")
end if
end sub
%>
<html>
<body>
<form name=form1 method=post action="?action=chklogin">
<input type=text name="userName" value="<%=request.Cookies("userName")%>">
<input type=password name="pwd" >
<select name="KeepDate" >
<option selected value="7">一个星期</option>
<option value="90">三个月</option>
<option value="365">一年</option>
</select>
<input type=submit name="submmit1" value ="登陆">
</form>
</body>
</html>
==========
login.html
=========
<html>
<body>
<form name=form1 method=post action="?action=chklogin">
<input type=text name="userName" value="<%=request.Cookies("userName")%>">
<input type=password name="pwd" >
<select name="KeepDate" >
<option selected value="7">一个星期</option>
<option value="90">三个月</option>
<option value="365">一年</option>
</select>
<input type=submit name="submmit1" value ="登陆">
</form>
</body>
</html>
======
chklogin.asp
===========
<%
uerName=request.Form("userName")
pwd=request.Form("pwd")
myDate=request.Form("KeepDate")
response.Cookies("uerName")=userName
response.Cookies("pwd")=pwd
response.Cookies("uerName").expires=Date +KeepDate
response.Cookies("pwd").expires=Date +KeepDate
if request.Cookies("userName")="" or request.Cookies("pwd") ="" then
response.Redirect("login.html")
end if
if request.Cookies("userName")<>"lyh" then
response.Redirect("login.html")
end if
%>
Top
14 楼lyh_flowing()回复于 2006-05-27 23:43:11 得分 0
先感谢各位热心的帮助!请原谅小女子还没来得及一下子那么快弄清楚~,我得再研究研究,如有疑问再请教!~呵呵。Top
15 楼lyh_flowing()回复于 2006-05-27 23:55:11 得分 0
你好!楼上的hanpoyangtitan
请问<form name=form1 method=post action="?action=chklogin">这样会提交到哪个页面去呢?
Top
16 楼ahcpx(天雪)回复于 2006-05-28 02:10:05 得分 0
是当前文件Top
17 楼net205(人不可以无耻到这种地步)回复于 2006-05-28 02:34:45 得分 0
mm帖子就是旺些......Top
18 楼lyh_flowing()回复于 2006-05-28 14:57:29 得分 0
?action=chklogin 问号后面的是参数吗?可以传一个文件过去?Top
19 楼xiaofanku(发扬中国博大的无术精神)回复于 2006-05-28 15:09:34 得分 0
仿佛看到一堆人在围攻MM!俺提的问题就是没人回答!Top
20 楼hanpoyangtitan(韩波洋)回复于 2006-05-28 15:51:56 得分 0
?action=chklogin 问号后面的是参数吗?可以传一个文件过去?
没有
上面提供2个方法。用参数或者把2个文件分开Top
21 楼hanpoyangtitan(韩波洋)回复于 2006-05-28 15:53:25 得分 0
回答楼主?action=chklogin 表单数据提交到原文件,同login.asp?action=chkloginTop
22 楼rkismet()回复于 2006-05-28 16:29:35 得分 0
本人建议,最好不要使用cookie功能,这是一个很不安全的东西,很多的时候,网站的漏洞就是从 这被找到的,所以,对此研究本人感觉必要不大Top
23 楼rkismet()回复于 2006-05-28 16:31:45 得分 0
你写的这个程序本身就是一个死循环,帮你分析一下,你先打开这个页面,就会执行上面脚本,呵呵,根据你写的程序的判断,不管如何,都会执行response.Redirect("login.asp")这个语句,呵呵,等转到重定向到这个文件之后,又要执行这几行代码,不死循环才怪呢,你加上一个条件语句就可以了Top
24 楼lyh_flowing()回复于 2006-05-30 22:02:27 得分 0
感激各位的指教~ 噢~ 发现自己写的代码太多问题了,根本不符合逻辑。楼上的说得对我写程序本身就是一个死循环。哎~ 谢谢!Top
25 楼cnrk_net(疯子)回复于 2006-05-30 22:09:44 得分 0
你首先应该想到的时,当你第一次打开页面的时候你的username或者request("username")或者session("username")就是空的,你再转到他是空的,就这样一直空下去
空空空空空
靠,响地雷了...
常识问题啊。
好了, 快散分,哈。Top
26 楼lyh_flowing()回复于 2006-05-31 16:20:24 得分 0
散分??Top
27 楼robake(Roback)回复于 2006-05-31 16:29:01 得分 0
登录判断尽量不要使用cookie,并且cookie存放的文件夹不一定就是在C盘。起码是高手用的电脑都不放在C盘(从加快电脑的运行速度上讲应该这样)Top
28 楼p6641()回复于 2006-05-31 21:54:24 得分 0
原始病毒的范本,哈哈,死循环Top
29 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2006-05-31 22:00:52 得分 0
哈哈,姑娘北京人也?Top
30 楼long171()回复于 2006-05-31 22:41:57 得分 0
服务器的“病毒”吧,这个不是病毒。
是流程的问题。
该算法的流程是想接受post过来的数据 。
然后写入cookies中,验证从页面传过来的cookies中的数据。
不过你要注意先Response.cookies的数据,并不是Request.cookies中的数据。
Response.cookies是向客户端写入cookies。而 Request.cookies是接受cookies数据。
你写入的cookies,要下次Request才能接受到。
uerName=request.Form("userName")
pwd=request.Form("pwd")
myDate=request.Form("KeepDate")
response.Cookies("uerName")=userName
response.Cookies("pwd")=pwd
response.Cookies("uerName").expires=Date +KeepDate
response.Cookies("pwd").expires=Date +KeepDate
if request.Cookies("userName")="" or request.Cookies("pwd") ="" then
response.Redirect("login.asp")
end if
if request.Cookies("userName")<>"lyh" then
response.Redirect("login.asp")
end ifTop
31 楼hanpoyangtitan(韩波洋)回复于 2006-05-31 22:59:22 得分 0
分享错误就十分想快乐。Top
32 楼lyh_flowing()回复于 2006-06-02 02:08:05 得分 0
好开心还有人在关注我的问题!哈哈~
前面问题我已经知道出现哪里了。谢谢个位。
容许小女子再问个问题:你们是怎么设置ASP中页面限权访问的?
小女子是广东的。对了这里是怎么结贴和给分的?Top
33 楼lyh_flowing()回复于 2006-06-02 02:15:21 得分 0
那么晚了估计是没有人回答了。Top
34 楼xtuwz(子依(向大家學習,向版主學習!))回复于 2006-06-02 07:37:38 得分 0
哈哈,是廣東,在哪裡,深圳沒!開個玩笑.
設權置,是不是文件在網絡上呀,如果是的話,你建虛似目錄時要輸入你的訪問帳號和密碼的,通常這樣就可,如有疑問,發信息給我
Top
35 楼lyh_flowing()回复于 2006-06-02 12:09:39 得分 0
广州。
不是文件在網絡上的,是如何区分一般用户和管理员身份的权限。
在数据库中有一个字段是"rank"用来区分身份的,默认是0为一般用户,1就是管理员。
如果登陆成功就把用户名放在session("userName")=userName -->放在login.asp
然后,select * from user where userName=session("userName")-->放在需要需要权限的del.asp中。出错:错误类型:至少一个参数没有被指定值。
郁闷。。。。
Top
36 楼INOCracker(大家知)回复于 2006-06-02 13:03:01 得分 0
<%
uerName=request.Form("userName")
pwd=request.Form("pwd")
myDate=request.Form("KeepDate")
response.Cookies("uerName")=userName
response.Cookies("pwd")=pwd
response.Cookies("uerName").expires=Date +KeepDate
response.Cookies("pwd").expires=Date +KeepDate
if request.Cookies("userName")="" or request.Cookies("pwd") ="" then
response.Redirect("login.asp")
end if
if request.Cookies("userName")<>"lyh" then
response.Redirect("login.asp")
end if
%>
<html>
<body>
<form name=form1 method=post action="#">
<input type=text name="userName" value="<%=request.Cookies("userName")%>">
<input type=password name="pwd" >
<select name="KeepDate" >
<option selected value="7">一个星期</option>
<option value="90">三个月</option>
<option value="365">一年</option>
</select>
<input type=submit name="submmit1" value ="登陆">
</form>
</body>
</thml>
小女遇到2个问题:(没有连接数据库)
第一是我写的cookies为什么在C盘Cookies文件夹里找不到我写入的Cookies文件,所以我设置response.Cookies("uerName").expires=Date +KeepDate 也没有起作用?
第二个是为什么我一运行页面就进入了一个死循环里?
初学习ASP快晕了.
先查找问题:
以上代码是不是login.asp?
如果是
if request.Cookies("userName")="" or request.Cookies("pwd") ="" then
response.Redirect("login.asp") ''这里的返回就错了。
end if
if request.Cookies("userName")<>"lyh" then
response.Redirect("login.asp") ''这里的返回就错了。
end if
如果不是,看下一个问题
response.Cookies("uerName").expires=Date +KeepDate
response.Cookies("pwd").expires=Date +KeepDate
Date +KeepDate 你这两个值哪来的?没有赋值。看清楚啵
而且,就算是你有赋值,Expires的格式比较严格,例如:Expires=#May 10,2005#
你自己试试
Top
37 楼INOCracker(大家知)回复于 2006-06-02 13:09:50 得分 0
lyh_flowing() ( ) 信誉:100 2006-06-02 02:08:00 得分: 0
好开心还有人在关注我的问题!哈哈~
前面问题我已经知道出现哪里了。谢谢个位。
容许小女子再问个问题:你们是怎么设置ASP中页面限权访问的?
小女子是广东的。对了这里是怎么结贴和给分的?
=========
设置权限这个问题,其它每个人的想法都不可能一样的。关键在于你想需要什么样的权限设置。
1、有的设成字段,用0和1表示,这样做只能有两个权限。管理员和普通权限
2、有的也是设成一个字段,然后,权限可以设成。例如:A 可以添加 B 可以修改 C 可以删除 D 可以访问。这时可以弄成一个权限表,把用户表的权限字段与权限表的字段关连对应。然后访问那个网页,需要什么权限,用函数传进去。然后用对应的字母可得出访问者的权限。这样也方便
3、可以复杂点。用多个表~~~~~(太长了,你想一下吧)。呵
Top
38 楼taolixiang(飞扬 怎么还不升级!!...... 哦 ...... 原来是要答对题才能升!)回复于 2006-06-02 13:32:58 得分 0
呵呵,女孩子们的人气真好,说看到小女子就... ...
呵呵~~~~~~~~~~
你用session吧Top
39 楼taolixiang(飞扬 怎么还不升级!!...... 哦 ...... 原来是要答对题才能升!)回复于 2006-06-02 13:35:35 得分 0
搞程序女孩子还真不多呀
一句话说的好,
...稀...贵
呵,玩笑~~~~~~~~
Top
40 楼zhengjianchao()回复于 2006-06-02 13:38:11 得分 0
半分钟 - 广告 - 大优惠
本人出售优惠空间
一M一年一元,什么都支持!想要的加我QQ,说明来意!Top
41 楼zhengjianchao()回复于 2006-06-02 13:48:03 得分 0
半分钟 - 广告 - 大优惠
本人出售优惠空间
一M一年一元,什么都支持!想要的加我QQ29492822,说明来意!Top
42 楼lyh_flowing()回复于 2006-06-04 05:42:50 得分 0
to INOCracker(大家知) 谢谢你!
最近赶着做毕业设计。现在才有时间回帖。
请问你意思是把一般用户和不同等级的管理员分2个表吗?
Top
43 楼slimjim(瘦子)回复于 2006-06-04 08:54:27 得分 0
我也不明白,虽然现在是菜鸟,将来一定会好的。Top
44 楼lyh_flowing()回复于 2006-06-04 18:35:48 得分 0
恩~ 肯努力学习就好了。
我毕业设计是用ASP+ACCESS做一个购物车。
有谁做过类似这样的系统吗?
用Cookies还是Session好呢?Top
45 楼INOCracker(大家知)回复于 2006-06-06 00:52:05 得分 0
to lyh_flowing()
呵呵。以前都是用ASP+ACCESS的了。现在已经不用了。都改用MS SQL了。
权限嘛,这个由你无限联想喽。
呵。正好。最近做个简单的系统,也不需要复杂的权限。
然后就想了一下简单点的。不知道对你有没有用。
在此放上来给大家见笑一下。或许也能帮上你点忙或你能得到点启示。
代码如下:
写成函数。
''''权限管理
''JurID 是从要执行的页面上传进来的值。为A或B或C或D
Function Jurisdiction(JurID)
Jurisdiction=false ''默认False
Dim vStateValue,tMarkState,RsJu,SqlJu
tMarkState=Session("tMarkState") '''取Session值
IF tMarkState ="" Then ''如果没有就则返到登陆页
response.write "<script language=javascript>"
response.Write "top.window.location.href = '/slogin.asp';"
response.Write "</script>"
response.end
End IF
set RsJu = Server.CreateObject("ADODB.Recordset")
SqlJu = "Select vStateValue from 权限表名 Where tMarkState="&tMarkState
RsJu.open SqlJu,conn,1,1
IF Not RsJu.Eof then
vStateValue = RsJu(0)
End IF
RsJu.Close
Set RsJu = Nothing
''vStateValue 这个值主要是放ABCD A代表有权查看,B代表有权添加 C 代表有权修改,D代表有权删除。
IF InStr(vStateValue,JurID)>=1 Then ''如果有该页面的传入需要的权限
Jurisdiction=true
Else
Jurisdiction=false
End IF
End Function
使用快捷
''使用方法
if Jurisdiction("A") then '''是否有权限查看 ,相应修改A就可以得到其它的权限了。
rs.open sql,conn,1,1
else
response.write "没有权限查看"
end if
''''我也是上来学习的。Top
46 楼zrqgood(梦欣)回复于 2006-06-06 09:41:56 得分 0
问题解决了没有?
Top
47 楼FEB15(张郎)回复于 2006-06-06 09:47:38 得分 0
如果是人妖...Top
48 楼jkx01whg(爱迪01)回复于 2006-06-06 09:51:37 得分 0
版主的<form name=form1 method=post action="#">???
这个action="#"到还没见过
只见过action="文件.asp"Top
49 楼yzeaho(home)回复于 2006-06-06 09:55:13 得分 0
安装个php论坛,它强烈建议我们开启cookie,还有你们都把密码写入cookie的?
还要弄很多个cookie文件,一个不好吗?Top
50 楼taolixiang(飞扬 怎么还不升级!!...... 哦 ...... 原来是要答对题才能升!)回复于 2006-06-07 08:36:24 得分 0
姑娘好了吗,可以接分吗
呵Top




