請教一個session的問題

ghostzhao 2004-04-02 05:15:14
<%
username=trim(request("username"))
userpass=trim(request("userpass"))
dim sql
sql="select * from userinfo where userid='"&username&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.eof or rs.bof then
response.redirect "index.asp"
else
if trim(rs("pwd"))=userpass then
session("userid")=username
response.redirect "body.asp"
else
session("userid")=""
response.redirect "index.asp"
end if
end if
%>




在上面的代碼中,我在服務器端執行沒有任何問題,但是我在客戶端執行的時候,session("userid")裡面的內容就是空的(我登陸的用戶名和密碼都正確的),好像無法保存似的
...全文
31 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
ghostzhao 2004-04-02
  • 打赏
  • 举报
回复
如果我想保留這個session值,有沒有甚麼辦法可以實現
caijie0616 2004-04-02
  • 打赏
  • 举报
回复
汗。。。
不晓得怎么办
ghostzhao 2004-04-02
  • 打赏
  • 举报
回复
怎麼沒有人知道阿
liuyangxuan 2004-04-02
  • 打赏
  • 举报
回复
不清楚。
帮你UP。
凯晰叶子 2004-04-02
  • 打赏
  • 举报
回复
你不过滤可被攻击的!
ghostzhao 2004-04-02
  • 打赏
  • 举报
回复
你說的不對,我的用戶名是唯一的,那不是問題
bingbingcha 2004-04-02
  • 打赏
  • 举报
回复
忘记打出来了。你写的这个页面的判断不行。没有加re.movenext。。

你这样判断的话就是只读取数据库里的第一条密码和页面的密码比较

你可以加再if 判断之前一个while not rs.eof 循环来实现验证
bingbingcha 2004-04-02
  • 打赏
  • 举报
回复
你这样写好象不行。你在本页面读取了数值后又将数值赋值是不行的

你可以在index.asp里先把name赋值给session("name"),然后再再处理页面判断密码是否一样,如果一样则调用,否则就跳转到index.asp

这样写不会有问题的。
ghostzhao 2004-04-02
  • 打赏
  • 举报
回复
checkin.asp
<html>
<body>
<%
username=trim(request("username"))
userpass=trim(request("userpass"))
dim sql
sql="select * from userinfo where userid='"&username&"'"
set rs=server.createobject("adodb.recordset")
rs.open sql,conn,1,1
if rs.eof or rs.bof then
response.redirect "index.asp"
else
if trim(rs("pwd"))=userpass then
session("userid")=rs("userid")
response.redirect "test.asp"
else
session("userid")=""
response.redirect "index.asp"
end if
end if
%>
</body>
</html>

在這個頁面里,如果不做從定向的話,我用response.write session("userid"),是可以顯示我輸入的用戶名的,現在我把他從定向到一個頁面test.asp,沒有任何代碼,但就是顯示不出來
test.asp
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
<title>新建网页 1</title>
</head>
<body>
<%
if session("userid")<>"" then
response.write session("userid")
else
response.write "dgfsdf"
end if
%>
</body>
</html>

真是邪門了,是不是那裡設定有問題


ghostzhao 2004-04-02
  • 打赏
  • 举报
回复
是啊,我是真的看不出有甚麼問題,可就是不行,我現在有兩台電腦,互為服務器,代碼的版本一樣,可就是互相訪問不行,自己在本地執行沒有任何問題,我在body.asp頁面里都這樣寫了,可就是不行,
<%
if trim(session("userid"))<>"" then
response.write session("userid")
else
response.write request.cookies("userid")
end if
%>
寫程序到這樣可把人给急死了
zhangxdd 2004-04-02
  • 打赏
  • 举报
回复
代码应该没有问题啊
guokai1217 2004-04-02
  • 打赏
  • 举报
回复
你把session("userid")看一下么
Response.Write session("userid")
如果真的是空的话,应该是你的代码在哪有点小问题:)
cxty 2004-04-02
  • 打赏
  • 举报
回复
session
是存储在服务器内存中的!怎么会出现楼主那样的??????
jasonboy 2004-04-02
  • 打赏
  • 举报
回复
不太清楚,up一下
guokai1217 2004-04-02
  • 打赏
  • 举报
回复
不会吧,没什么问题呀,服务器地址,我去登陆一下。

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧