标题: 如何实现不同级别的登陆 [打印本页] 作者: 風過aiq無痕 时间: 2010-1-18 01:10 标题: 如何实现不同级别的登陆 如图所示比如在登陆的时候有用户名输入和密码输入,再带一个下拉框,下面有三种不同的级别:如管理员,一般员工,部门经理。如果登陆的时候选择管理员,输入用户名密码,在数据库的admin表中通过验证后转到管理员页面,如果选择一般员工,输入用户名密码,又经过数据库的ptyg表中的验证后转到员工的页面,部门经理也一样,在数据库里有bmjl表。这几张表的字段都一样,该如何实现选择不同的级别进入不同的页面呢?恳请各位大虾指点下小弟。拜谢~~~ 现提供指定了表的登陆代码,该如何修改使其能达到上述效果? 登陆信息输入框部分 <html>
<head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>登陆</title> </head>
<body background="bg.jpg">
<p align="center"> </p> <p align="center"> </p> <p align="center"> </p> <p align="center"><font face="黑体" size="6"><b>用户登陆</b></font></p> <p align="center"> </p> <form method="POST" name="form1" action="yz.asp"> <p> 用户名:<input type="text" name="name" size="20" style="border-style: solid; border-width: 1px"></p> <p> 密 码:<input type="password" name="password" size="21" style="border-style: solid; border-width: 1px"></p> <p> <input type="submit" value="提 交" name="submit" style="border-style: solid; border-width: 1px"></p> </form> <p> </p>
</body>
</html> 验证模块 <!--#include file="conn.asp"--> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>验证模块</title> <style type="text/css"> <!-- body { background-image: url(bg.jpg); } --> </style></head> <body> <div align=center>
<% dim strname dim strpassword dim rs dim sql
strname=request.form("name") strpassword=request.form("password") set rs=server.createobject("adodb.recordset") exec="select name from userinfo where name='"&strname&"' and password='"&strpassword&"' " rs.open exec,conn,1,1 if not rs.eof then Response.Redirect "main.htm" else response.write"<a href='index.asp'>登陆失败,单击重新登陆" end if set rs=nothing conn.close set conn=nothing %> </body>
</html>
附件: 只有本站会员才能下载或查看附件,请您 登录 或 注册作者: √碧水寒潭 时间: 2010-1-18 01:10
以下是引用渣子在2005-5-25 3:14:53的发言:
如图所示比如在登陆的时候有用户名输入和密码输入,再带一个下拉框,下面有三种不同的级别:如管理员,一般员工,部门经理。如果登陆的时候选择管理员,输入用户名密码,在数据库的admin表中通过验证后转到管理员页面,如果选择一般员工,输入用户名密码,又经过数据库的ptyg表中的验证后转到员工的页面,部门经理也一样,在数据库里有bmjl表。这几张表的字段都一样,该如何实现选择不同的级别进入不同的页面呢?恳请各位大虾指点下小弟。拜谢~~~ 现提供指定了表的登陆代码,该如何修改使其能达到上述效果? 登陆信息输入框部分 <html>
<head> <meta http-equiv="Content-Language" content="zh-cn"> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>登陆</title> </head>
<body background="bg.jpg">
<p align="center"> </p> <p align="center"> </p> <p align="center"> </p> <p align="center"><font face="黑体" size="6"><b>用户登陆</b></font></p> <p align="center"> </p> <form method="POST" name="form1" action="yz.asp"> <p> 用户名:<input type="text" name="name" size="20" style="border-style: solid; border-width: 1px"></p> <p> 密 码:<input type="password" name="password" size="21" style="border-style: solid; border-width: 1px"></p> <p> <select name="tables"> <option value="admin">管理员</option> <option value="ptyg"> 员工</option> <option value="bmjl">部门经理</option> </select> </p> <p> <input type="submit" value="提 交" name="submit" style="border-style: solid; border-width: 1px"></p> </form> <p> </p>
</body>
</html> 验证模块 <!--#include file="conn.asp"--> <html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>验证模块</title> <style type="text/css"> <!-- body { background-image: url(bg.jpg); } --> </style></head> <body> <div align=center>
<% dim strname dim strpassword dim rs dim sql,tables
strname=request.form("name") strpassword=request.form("password") tables=request.form("tables") set rs=server.createobject("adodb.recordset") exec="select name from "&tables&" where name='"&strname&"' and password='"&strpassword&"' " rs.open exec,conn,1,1 if not rs.eof then Response.Redirect "main.htm" else response.write"<a href='index.asp'>登陆失败,单击重新登陆" end if set rs=nothing conn.close set conn=nothing %> </body>
</html>
黑色部分作者: 皇家㊣贺v 时间: 2010-1-18 01:10
谢谢无根泉大虾。。。还有个问题,就是根据不同的权限登陆以后,这个页面转向的语句该怎么写呢?现在都只能同时指向一个页面。。作者: 天语悠悠 时间: 2010-1-18 01:10
if #### then
response.redirect(###.asp)
end if
if then
end if作者: √金刚石猛男 时间: 2010-1-18 01:10
做三个表做什么呀,做成一个表节约数据库呀作者: 林枫 时间: 2010-1-18 01:10
以下是引用渣子在2005-5-25 11:45:46的发言: 谢谢无根泉大虾。。。还有个问题,就是根据不同的权限登陆以后,这个页面转向的语句该怎么写呢?现在都只能同时指向一个页面。。
if rs.eof then response.write"用户名或密码错误" else session("name")=rs("字段名") select case session("name") case "" '员工 url="a.asp" case "" '部门经理 url="b.asp" case "" '管理员 url="admin.asp" case else url="c.asp" end select response.write "<script>location.href=' " & url & " ' ;</script>" end if 这只是一个思路,可以用一个表,设一个标记字段如:qx(0 员工,1 部门经理,2 管理员) if rs.eof then ..'出错信息 else session("qx")=rs("qx") select case session("qx") case 0 url="a.asp" case 1 url="b.asp" case 2 url="admin.asp" case else url="c.asp" end select response.write"<script>location.href=' " &url& " ';</script>" end if作者: 绝对标致 时间: 2010-1-18 01:10
恩恩,谢谢楼上各位大虾。。因为我很菜啊。不知道还可以做成一个表。呵呵。反正那两个表都派上用场了,再去改的话,其他地方都要改很麻烦的。开始我就是不知道在sql语句中可不可以设置数据库表的字段为变量,试着改了下结果程序出错,好象定义变量错误。呵呵。这些字符串啊符号格式的太难记了,稍为一点错误都不行,哎。。。