| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2398 人关注过本帖
标题:[求助]根据用户权限登陆到不同页面,为什么我的不能跳转?
只看楼主 加入收藏
roylong
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-12-27
收藏
得分:0 
这个ASP页面开始只是准备验证用户后直接进入,后来准备修改成根据用户权限登陆到不同页面

session("type")这是后来修改的时候添加的,前面都没有涉及这个

type是数据库中用户表的一项,内容是1,2,3数字

[此贴子已经被作者于2005-12-28 13:58:42编辑过]

2005-12-28 13:57
fcnh1983
Rank: 1
等 级:新手上路
帖 子:665
专家分:0
注 册:2005-8-31
收藏
得分:0 

既然在数据库那就好办了呀........
type=数据库里面的值就行了啊
Select Case type

Case "1"
response.redirect "1.asp"
Case "2"
response.redirect "2.asp"
Case "3"
response.redirect "3.asp"
end select
%>

[此贴子已经被作者于2005-12-28 14:26:36编辑过]


^^多谢赐教!!无以为报只好以身相许!!!^^谢谢,不用谢,要谢的,多说不用了^^如果真的要谢,那就嫁给我吧,好啊^^
2005-12-28 14:17
unix
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2005-12-28
收藏
得分:0 

雪弧,改成这样试试:

myAccount = trim(request("username"))
myPass = trim(replace(request("Password"),"'",""))

set Conn = Server.CreateObject("Adodb.Connection")
Connstr = "Driver={SQL Server};Server=cylong;UID=sa;PWD=;Database=生产管理"
Conn.open connstr
CheckSql = "SELECT * FROM 用户 WHERE 用户名 = '"&myAccount&"'"
set checkRs = Server.CreateObject("Adodb.Recordset")
checkRs.Open CheckSql,Conn,1,1
if checkRs.eof then
response.write "<script language=javascript>alert('对不起用户不存在');history.back(-1)</script>"
else
if checkRS("密码") = '"&myPass&"' then
session("TYPE")=checkRs("types")
else
response.write "<script language=javascript>alert('对不起密码错误');history.back(-1)</script>"
end if
end if

checkRs.close
conn.close

Select Case session("type")
Case "1"
response.redirect "1.asp"
Case "2"
response.redirect "2.asp"
Case "3"
response.redirect "3.asp"
end select

[此贴子已经被作者于2005-12-28 14:54:18编辑过]

2005-12-28 14:50
fcnh1983
Rank: 1
等 级:新手上路
帖 子:665
专家分:0
注 册:2005-8-31
收藏
得分:0 

这样应当可以了吧


^^多谢赐教!!无以为报只好以身相许!!!^^谢谢,不用谢,要谢的,多说不用了^^如果真的要谢,那就嫁给我吧,好啊^^
2005-12-28 14:54
unix
Rank: 1
等 级:新手上路
帖 子:134
专家分:0
注 册:2005-12-28
收藏
得分:0 
以下是引用fcnh1983在2005-12-28 14:54:00的发言:

这样应当可以了吧

请教你个问题,这样的验证代码是否存在sql注入的洞洞?谢谢
还有用asp上传文件代码要怎么写?

[此贴子已经被作者于2005-12-28 15:00:04编辑过]

2005-12-28 14:57
fcnh1983
Rank: 1
等 级:新手上路
帖 子:665
专家分:0
注 册:2005-8-31
收藏
得分:0 

上传的可以到网上下载,很少有人自己写

洞洞我还没这么强
你上面不要用session 了,直接type=某个值就好了..
选择语句也相应改一下


^^多谢赐教!!无以为报只好以身相许!!!^^谢谢,不用谢,要谢的,多说不用了^^如果真的要谢,那就嫁给我吧,好啊^^
2005-12-28 15:23
roylong
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-12-27
收藏
得分:0 

修改为unix提供的的代码后
运行就显示
错误类型:
Microsoft VBScript 编译器错误 (0x800A03EA)
语法错误
/roylong/admin/xh_cklogin.asp, line 15, column 20
if checkRS("密码") = '"&myPass&"' then
-------------------^

2005-12-28 18:38
roylong
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-12-27
收藏
得分:0 

重新修改了下
<!--#include file="xh_conn.asp"-->
<%
myAccount = trim(request("username"))
myPass = trim(request("Password"))


set Conn = Server.CreateObject("Adodb.Connection")
Connstr = "Driver={SQL Server};Server=cylong;UID=sa;PWD=;Database=生产管理"
Conn.open connstr
CheckSql = "SELECT * FROM 用户 WHERE username = '"&myAccount&"' AND Password = '"&myPass&"'"
set checkRs = Server.CreateObject("Adodb.Recordset")
checkRs.Open CheckSql,Conn,1,1
if checkRs.eof then
response.write "<script language=javascript>alert('对不起密码输入错误');history.back(-1)</script>"
end if

session("type")=checkRs("type")

checkRs.close
conn.close

Select Case session("type")
Case "1"
response.redirect "aa.asp"
Case "2"
response.redirect "bb.asp"
Case "3"
response.redirect "cc.asp"
end select
%>

添加了session("type")=checkRs("type")
但是还是和以前一样,停留在xh_cklogin.asp的空白页面啊

2005-12-28 20:57
roylong
Rank: 1
等 级:新手上路
帖 子:12
专家分:0
注 册:2005-12-27
收藏
得分:0 
Case "1"
去掉引号就正常可以了
呵呵
2005-12-28 22:58
tanlin
Rank: 1
等 级:新手上路
帖 子:9
专家分:0
注 册:2006-4-2
收藏
得分:0 

2006年4月4日我按照caiyakang所说写会停留在空白页上,到底应该怎么写?

2006年4月4日.我也做了同样的页面,2006年4月5日上午实验成功了.我用的if then,也可以用Select Case.
我改的程序如下:

<!--#include file="xh_conn.asp"-->
<%
myAccount = trim(request("username"))
myPass = trim(request("Password"))
mytype = request("type") '取用户类型

set Conn = Server.CreateObject("Adodb.Connection")
Connstr = "Driver={SQL Server};Server=cylong;UID=sa;PWD=;Database=生产管理"
Conn.open connstr
CheckSql = "SELECT * FROM 用户 WHERE 用户名 = '"&myAccount&"' AND 密码 = '"&myPass&"'"
set checkRs = Server.CreateObject("Adodb.Recordset")
checkRs.Open CheckSql,Conn,1,1
if checkRs.eof then
response.write "<script language=javascript>alert('对不起密码输入错误');history.back(-1)</script>"
else
session("type") = mytype
if mytype = "1" then '1为option中的value值,若不注意会出错!
response.redirect "1.asp"
elseif mytype = "2" then '2为option中的value值,若不注意会出错!
response.redirect "2.asp"
elseif mytype = "3" then '3为option中的value值,若不注意会出错!
response.redirect "3.asp"
end if
end if
%>

[此贴子已经被作者于2006-4-5 11:53:39编辑过]

2006-04-04 16:09
快速回复:[求助]根据用户权限登陆到不同页面,为什么我的不能跳转?
数据加载中...
 
   



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

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