session变量为何取不到?

shentj 2002-08-01 08:39:24
在验证登录页面里创建一个session变量,验证通过后,进入一个框架页面a,包含两个子页面b和c,此时无论我在框架主页面a里还是在各个子页面b、c里都取不出session变量的值,为什么呢?
...全文
15 点赞 收藏 6
写回复
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CatChen 2002-08-02
最好顺便把password也保存到cookie,否则容易伪造身份
回复
cmsoft 2002-08-02
<!--#include file="asp/sqlstr.asp"-->
<!--#include file="asp/opendb.asp"-->
<%
Dim username
Dim password
Dim allow
allow=0
username=request("LoginName")
password=request("Password")
if username<>"" and password<>"" then
set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("adodb.recordset")
sql="select * from userinf where username=" & sqlstr(username)
rs.open sql,conn,1
if (not rs.eof) then
if (trim(rs("password")))=password then
session("username")=rs("username")
response.redirect "../index.htm"
end if
else
response.redirect "../opportunities/fail1.htm"
end if
rs.close
set rs=nothing
conn.close
set conn=nothing
end if
%>

回复
shentj 2002-08-02
登录验证源码如下,环境是winnt+iis4.0:
<!--#include file="asp/sqlstr.asp"-->
<!--#include file="asp/opendb.asp"-->
<%
Dim username
Dim password
Dim allow
allow=0
username=request("LoginName")
password=request("Password")
if username<>"" and password<>"" then
set conn=opendb("oabusy","conn","accessdsn")
set rs=server.createobject("adodb.recordset")
sql="select * from userinf where username=" & sqlstr(username)
rs.open sql,conn,1
if (not rs.eof) then
if (trim(rs("password")))=password then
allow=1
end if
else
allow=2
end if
rs.close
set rs=nothing
conn.close
set conn=nothing

if allow=1 then
' session("username")=username
response.redirect "../index.htm"
else
response.redirect "../opportunities/fail1.htm"
end if
end if
%>

index.htm是一个框架页,包含三个页面
回复
zhusuhao 2002-08-02
你要是光创建没用,你要给它赋值,然后他才能把那个值传到别的页面。
回复
shentj 2002-08-02
cmsoft,你好,我在验证页面已经创建一个session变量了

为什么呀?
回复
cmsoft 2002-08-01
你在登录后的session赋值了没有啊?
回复
发动态
发帖子
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
社区公告
暂无公告