asp登陆问题 急。谢谢

yjlj87 2008-03-24 02:12:30
conn.asp

<%
dim conn
dim connstr
dim db
db="reg.mdb"
Set conn = Server.CreateObject("ADODB.Connection")
connstr="Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & Server.MapPath(db)
conn.Open connstr
%>



<%
dim Vedo,reVedo

Vedo=trim(Request.Form("Vedo"))
reVedo=trim(Request.Form("reVedo"))
User=trim(Request.Form("Name"))
Pass=trim(Request.Form("Passwd"))

if Vedo<>reVedo then
response.write("<script>alert('验证码不正确!');location.href='../admin/';</script>")
founderr=true
else
set rs=conn.execute("select * from [reg] where Name='"&User&"' and Passwd='"&Pass&"'")
if not rs.eof then
session("admin_name")=trim(Request.Form("Name"))
response.Redirect "index.asp"
else
response.Write("<script>alert('用户名及密码不正确,请重新登录!');location.href('login.asp')</script>")
end if
end if
%>




我在运行的时候不管用户名密码是对是错都会提示(用户名及密码不正确,请重新登录)。这个是怎么回事呀?
请高手帮忙了。 谢谢。
...全文
212 点赞 收藏 25
写回复
25 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
yjlj87 2008-03-26
没分了哈 。 我也不会弄。 弄了就结贴了。。。 密我把分全送你好了。
回复
mengxiang1618 2008-03-25
[Quote=引用 22 楼 mengxiang1618 的回复:]
DDDDDDDDD2222
[/Quote]
回复
mengxiang1618 2008-03-25
DDDD
回复
yjlj87 2008-03-25
楼上的+楼上的+所有帮我解决问题 的。 怎么给分呀? 不会。 要多少拿多少就好呀
回复
ITniao 2008-03-25
你一分没给还在继续问问题...

表单里是passwd还是pass自己都不检查清楚,
u_passwd = trim(request("passwd")) 还是 u_passwd = trim(request("pass")) 自己想想。

这个是自己粗心的问题。没必要拿来问。

——————————————————————————————————————

第二个问题给你回答。

第二个问题还是第一个问题。这两个问题是同一个问题。第三次不要还这里面摔倒哦。

登录成功后是 session("u_name")=name
调用的时候也要调用 session("u_name") 而不是session("name")

rs("xxx") 和 字段名xxx 的xxx要对应;读取=session("xxx") 和 写session("xxx")="值" 的xxx要对应;request.form("xxx")和表里的name="xxx" 的xxx要对应。
回复
blankfang 2008-03-25
晕!!
回复
yjlj87 2008-03-24

附加 个问题 。。。 登陆了在首页我登陆的位置那为什么还会显示注册呢?

我在下面调用了一个session 。 也不知道对不对。。。 请帮忙看下。谢谢 就不单独发了。





<table width="778" height="23" border="0" align="center" cellpadding="0" cellspacing="0">
<tr>
<td width="21" background="images/未命名-1_r1_c1.jpg"></td>
<td width="530" background="images/未命名-1_r1_c1.jpg"><font color="#FF0000" size="-1">
</td>
<td width="98" background="images/未命名-1_r1_c1.jpg"><table width="89" height="23" border="0" align="right" cellpadding="0" cellspacing="0">
<tr>
[color=#FF9900]<%
if session("name")<>"" then

response.write"欢迎您"&session("name")&"登录网站!"
%>
<a href="logout.asp">退出</a>
<%
else
%>
'此处为首页登录的表格框里面。 从login.asp里登录以后想让这显示用户名。 <td width="42" align="right" valign="middle"><div align="center" class="STYLE5" onfocus="MM_openBrWindow('zc/login.asp','请登录','width=168,height=100')"><a href="zc/login.asp"> 登录</a></div></td>
<td width="38" align="center"><div align="center" class="STYLE5"><a href="zc/reg2.asp">注册</a></div></td>
<td width="9" align="center"> </td>
</tr><%end if%>
</table>[/color]'紫色部分为登录的那个表格。 谢谢。</td>
<td width="58" background="images/未命名-1_r1_c1.jpg"><span class="STYLE5">设为首页</span></td>
<td width="71" background="images/未命名-1_r1_c1.jpg"><span class="STYLE5">加入收藏</span></td>
</tr>
</table>
回复
yjlj87 2008-03-24
还有顺带问个小问题 。 在首页点登陆的时候我就直接弹出这个框框 就不要进新的页面了。 需要怎么弄呀?
回复
No_Data_Found 2008-03-24
request 和表单对应

rs 和数据库对应
回复
yjlj87 2008-03-24
现在基本的登录功能实现了。。。 谢谢谢谢谢谢。。 感激不尽。。。


把我的分全部给你们好了。 嘿嘿。
回复
yjlj87 2008-03-24

好乱呀。 那些表名 表单名呀什么的太多了。 表名是reg 表里面的字段是name和passwd,登录的框框里的名字分别是name和pass 登录页面的那个代码 <%
if session("admin1")="ok" then

response.write"欢迎您"&session("name")&"登录网站!"
%>
<a href="logout.asp">退出</a>
<%
else
%>
<form action="member_check.asp" method="post" name="form2" id="form2">
<br />
<table width="25%" border="0" cellpadding="3" cellspacing="1" bgcolor="#333333">
<tr>
<td colspan="2" bgcolor="#FFFFFF">北京首瑞测控技术有限公司 </td>
</tr>
<tr>
<td width="31%" bgcolor="#FFFFFF">用户名</td>
<td width="69%" bgcolor="#FFFFFF"><input name="Name" type="text" id="Name" size="12" /></td>
</tr>
<tr>
<td bgcolor="#FFFFFF">密  码</td>
<td bgcolor="#FFFFFF"><input name="pass" type="password" id="pass" size="12" /></td>
</tr>
<tr>
<td colspan="2" align="center" bgcolor="#FFFFFF"><input type="submit" name="Submit2" value="提交" /></td>
</tr>
</table>
</form>
<%end if%>



[Quote=引用 12 楼 hookee 的回复:]
表单里是passwd还是pass?
看下下面的注释

HTML code
<!--#include file="conn.asp" -->
<%
dim rs
dim u_name
dim u_passwds

u_name = trim(request("name"))
u_passwd = trim(request("passwd")) '这里是passwd还是pass

if u_name="" then
%>
<script language=javascript>
alert("帐号为空");
location.href="login.asp"
</script>
<%
end if

if u_passwd="" then
%>
<s…
[/Quote]
回复
hookee 2008-03-24
if u_passwd = trim(rs("passwd")) then
回复
yjlj87 2008-03-24
改了是这个错误 。。


错误类型:
ADODB.Recordset (0x800A0CC1)
在对应所需名称或序数的集合中,未找到项目。
/sona/zc/member_check.asp, 第 34 行 if pass=rs("u_passwd") then
回复
hookee 2008-03-24
表单里是passwd还是pass?
看下下面的注释

<!--#include file="conn.asp" -->
<%
dim rs
dim u_name
dim u_passwds

u_name = trim(request("name"))
u_passwd = trim(request("passwd")) '这里是passwd还是pass

if u_name="" then
%>
<script language=javascript>
alert("帐号为空");
location.href="login.asp"
</script>
<%
end if

if u_passwd="" then
%>
<script language=javascript>
alert("密码为空");
location.href="login.asp"
</script>
<%
end if

set rs=server.createobject("adodb.recordset")
rs.open "select * from [reg] where [name]='"&u_name&"'",conn,1,3
if not (rs.eof and rs.bof) then
if u_passwd = trim(rs("u_passwd")) then '这里是u_passwd,并加trim
session("u_name")= u_name '这里是u_name
Response.write(" <script>location.href('index.asp')</script>" )
else
response.write (" <script>alert('用户密码错误');location.href('login.asp') </script>")
end if
else
response.write (" <script>alert('用户帐号错误');location.href('login.asp') </script>")
end if
rs.close
set rs=nothing
%>

回复
No_Data_Found 2008-03-24
u_passwd=request("pass")
回复
No_Data_Found 2008-03-24
真要是不行 的话

从数据库找个用户名 密码 例如 admin 123456

程序这样写

set rs=conn.execute("select * from [reg] where [Name]='admin' and Passwd='123456'")

如果可以 那问题出在 User 和Pass的获取上
如果不可以 那问题出在 数据库连接上 或者 not rs.eof 的判断上

一般用 If not (Rs.bof or Rs.eof) then 表示 查询到数据
If Rs.bof and Rs.eof then 表示 未查询数据
回复
yjlj87 2008-03-24
补充:我的表名是reg 字段名为 name passwd

就是登陆页面的那个按钮的名称是name pass
回复
yjlj87 2008-03-24
比如这个。登录的时候总是提示密码为空。。。 有密码也是空。 没密码也是空。 不会弄了。。。。
麻烦帮忙改下这个吧。 上面那个有个MD5加密的程序。

<!--#include file="conn.asp" -->



<%
dim rs
dim u_name
dim u_passwds

u_name=request("name")
u_passwd=request("passwd")




if u_name="" then
%>
<script language=javascript>
alert("帐号为空");
location.href="login.asp"
</script>
<% end if %>
<% if u_passwd="" then
%>
<script language=javascript>
alert("密码为空");
location.href="login.asp"
</script>
<% end if %>

<%set rs=server.createobject("adodb.recordset")
rs.open "select * from [reg] where [name]='"&u_name&"'",conn,1,3
if not rs.eof then
if passwd=rs("u_passwd") then
session("u_name")=name
Response.write("<script>location.href('index.asp')</script>" )
else
response.write ("<script>alert('用户密码错误');location.href('login.asp')</script>")
end if
end if
if rs.eof then
response.write ("<script>alert('用户帐号错误');location.href('login.asp')</script>")
end if
set rs=nothing

%>





回复
No_Data_Found 2008-03-24
[Quote=引用 6 楼 yjlj87 的回复:]

反正 就是有个好用的普通的登陆程序就行了。。。 那个MD5不要就行。。。 我弄了好多。 不是缺少RS。 就是缺少')'之类的。
[/Quote]

你没看懂1楼的意思 他是说如果数据库保存的是密码的md5值 那你的查询也要经过md5

按照我的意思先试下吧

看你是新手,你是给你介绍怎么编程,主要是想告诉你怎么调试程序 发现错误
回复
yjlj87 2008-03-24

反正 就是有个好用的普通的登陆程序就行了。。。 那个MD5不要就行。。。 我弄了好多。 不是缺少RS。 就是缺少')'之类的。
回复
加载更多回复
相关推荐
发帖
ASP
创建于2007-09-28

2.8w+

社区成员

ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
申请成为版主
帖子事件
创建了帖子
2008-03-24 02:12
社区公告
暂无公告