用户登入问题检测,烦。。。。

etononline 2004-12-23 11:38:56
<!--#include file="conn.asp"-->
<%
dim name,password
name=request.form("user_id")
password=request.form("pass_word")
Set rst_cw=server.createobject("ADODB.Recordset")
Set rst_ca=server.createobject("ADODB.Recordset")
ls_sql="select * from admin_tabe where(user_id='"&name&"' and pass_word='"&password&"')"
set rs_cw=conn.Execute(ls_sql)
ls_sql="select * from user_tabe where(user_id='"&name&"' and user_password='"&password&"')"
set rs_ca=conn.Execute(ls_sql)

if rs_cw.eof and rs_cw.bof and rs_ca.eof and rs_ca.bof Then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"

else
if rs_cw("user_id")="admin" then
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "admin.asp"
else
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "top.asp"
end if
end if
rs.Close
conn.Close
%>

就是两个表,一个用户,一个管理员。
管理员进管理页面,用户进用户页面。
...全文
141 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
yrs007 2004-12-29
  • 打赏
  • 举报
回复
呵呵..如果两个表同时都存在这用户就不好办了..哈哈..最好分开判断比较好啦..或是在一个表里面加一个权限字段就比较好办啦..
yrs007 2004-12-29
  • 打赏
  • 举报
回复
if rs_cw.eof and rs_cw.bof and rs_ca.eof and rs_ca.bof Then
两个表应该分开判断~~~

if rs_cw.eof and rs_cw.bof then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"
else
if rs_cw("user_id")="admin" then
session("checked")="yes"
session("check")="right"
session("name") =rs_cw("user_id")
response.Redirect "admin.asp"
end if

if rs_ca.eof and rs_ca.bof Then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"
else
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "top.asp"
end if
晕..这样不行吗?...
pq16344 2004-12-23
  • 打赏
  • 举报
回复
rs_cw.eof and rs_cw.bof and rs_ca.eof and rs_ca.bof 该为rs_cw.eof or rs_cw.bof and rs_ca.eof or rs_ca.bof
etononline 2004-12-23
  • 打赏
  • 举报
回复
不会的,一般都是操作用户表的,、

晕晕,,,问题还没解决呀

Microsoft VBScript 编译器错误 错误 '800a03f6'

缺少 'End'

/iisHelp/common/500-100.asp,行242

ADODB.Field 错误 '80020009'

BOF 或 EOF 中有一个是“真”,或者当前的记录已被删除,所需的操作要求一个当前的记录。



一直都是这个怪错误,痛苦ing中。。。。。。。。。。。。。。。

abcdefg3305 2004-12-23
  • 打赏
  • 举报
回复
if rs_cw.eof or rs_cw.bof Then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"

else if rs_cw.eof or rs_cw.bof then
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "admin.asp"
else
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "top.asp"
end if
end if

如果一样的用户名存同时存在于两张表,你怎么办哦。
etononline 2004-12-23
  • 打赏
  • 举报
回复
高手帮忙呀。

就是两个表,一个用户表,一个管理员表,

当检测为用户登录时,进入top.asp页面

当为管理员登录时,进入admin.asp页面

帮忙改改呀。
etononline 2004-12-23
  • 打赏
  • 举报
回复
这是一个用户检测check.asp

代码出错呀。。。。。。。。。。
riyao 2004-12-23
  • 打赏
  • 举报
回复
什么问题?
goldworld 2004-12-23
  • 打赏
  • 举报
回复
你想要干什么呢??
etononline 2004-12-23
  • 打赏
  • 举报
回复
等待高手解决问题中。。。。。。。。。。。。
etononline 2004-12-23
  • 打赏
  • 举报
回复
不行,你这样和我原来没什么区别呀。
<!--#include file="conn.asp"-->
<%
dim name,password
name=request.form("user_id")
password=request.form("pass_word")
Set rst_cw=server.createobject("ADODB.Recordset")
Set rst_ca=server.createobject("ADODB.Recordset")
ls_sql="select * from admin_tabe where(user_id='"&name&"' and pass_word='"&password&"')"
set rs_cw=conn.Execute(ls_sql)
ls_sql="select * from user_tabe where(user_id='"&name&"' and user_password='"&password&"')"
set rs_ca=conn.Execute(ls_sql)

if rs_cw.eof or rs_cw.bof Then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"

else

if rs_cw("user_id")="admin" then
session("checked")="yes"
session("check")="right"
session("name") =rs_cw("user_id")
response.Redirect "admin.asp"
end if
end if

if rs_ca.eof or rs_ca.bof Then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"

else
if rs_ca("type")="user" then
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "top.asp"
end if
end if

rs.Close
conn.Close
%>



如果这样只能表一的用户可以进了,表二的就不行了////
hgh04106 2004-12-23
  • 打赏
  • 举报
回复
你想根据用户名来判断用户的权限吧,改成这样看看行不?
if (rs_cw.eof or rs_cw.bof) or (rs_ca.eof or rs_ca.bof) Then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"

else
if rs_cw("user_id")="admin" then
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "admin.asp"
else
session("checked")="yes"
session("check")="right"
session("name") =rs_ca("user_id")
response.Redirect "top.asp"
end if
end if
etononline 2004-12-23
  • 打赏
  • 举报
回复
不行呀,如果这样,只有一个表里的用户能登录,
另外一个表就不行。。。。。。。。。。。

,,,,,,,,,,,晕晕。。。
wsflyfish 2004-12-23
  • 打赏
  • 举报
回复
同意楼上!
yrs007 2004-12-23
  • 打赏
  • 举报
回复
晕...错了..中间应该为or 不是and
yrs007 2004-12-23
  • 打赏
  • 举报
回复
if rs_cw.eof and rs_cw.bof and rs_ca.eof and rs_ca.bof Then
两个表应该分开判断~~~
if rs_cw.eof and rs_cw.bof then
session("checked")="no"
session("check")="wrong"
response.Redirect "login.asp"

else
if rs_cw("user_id")="admin" then
session("checked")="yes"
session("check")="right"
session("name") =rs_cw("user_id")
response.Redirect "admin.asp"
end if
end if
另外的一样~~~

28,409

社区成员

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

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