| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 928 人关注过本帖
标题:菜鸟问题:求大家们看看!!!
只看楼主 加入收藏
hell
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2004-6-3
收藏
 问题点数:0 回复次数:6 
菜鸟问题:求大家们看看!!!

哥哥姐姐弟弟妹妹们过节好:帮我看看啊? 1.default.asp(输入呢称) ----------------------------------------------------------------------------------------------- <% <form method="post" action="chat.asp" name="chatform"> 输入你的呢称:<input type=text name="nickname" size=20>&nbsp;&nbsp; <input type=submit name=button value=进入聊天室> </form> %> 2.chat.asp ----------------------------------------------------------------------------------------------------- <title>==chat==</title> <% function sqlstr(data) sqlstr="'"&replace(data,"'","''")&"'" end function nickname=trim(request("nickname")) if nickname="" then response.write "呢称不能为空!请<a href=default.asp><font color=red>返回</font></a>重新输入呢称!" response.end end if '判断数据库中是否存在同样呢称的用户,并且该用户正在线上 dim conn,dbpath on error resume next set conn=server.createobject("adodb.connection") dbpath=server.mappath("img\chatroom.mdb") conn.open "provider=microsoft.jet.oledb.4.0;data source="&dbpath set rs=server.createobject("adodb.recordset") sqlstr="select * from online where 姓名="&sqlstr(nickname) rs.open sqlstr,conn if not rs.eof then response.write "该呢称已被使用!" response.end end if ''''''''''''''''''''''''''''' rs.close conn.close set rs=nothing set conn=nothing %> --------------------------------------------------------------------------------------------------------------- ==>练习聊天室例程!其中online表中存有在线用户名单(呢称): 我只是想判断用户输入的呢称(即上面nickname)在online中是否存在,若存在则 提示""该呢称已被使用!"然后结束ASP语句执行,可为什么无论我输入的呢称是 什么,都会提示"该呢称已被使用!"呢? ==>语句sqlstr="select * from online where 姓名='"&nickname&"'"的作用是列出 表online中姓名为nickname(用户输入呢称)的记录: 如果没有记录(即rs.eof=true),则说明nickname这个呢称没有被使用;但为什么这 里的条件if not rs.eof then一直满足呢(即无论用户输入nickname为什么字符,都 会提示"该呢称已被使用!")会不会是判断逻辑本身有问题啊? ==>另外:可以用response.write nickname输出nickname没有问题说明nickname是获取到了啊! 错在哪里了!在哥再帮我看看啊!!! ---------------------------------------------------------------------------------------------- 大家救救我吧!都浪费我整整半天时间了!唉!!!

[此贴子已经被作者于2004-06-22 14:59:46编辑过]

搜索更多相关主题的帖子: action 进入聊天室 title method button 
2004-06-22 14:57
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 

sqlstr="select * from online where 姓名='"&nickname&"'" 这句确定没有错吗??

if not rs.eof then response.write "该呢称已被使用!" response.end end if

这句改为下面试试看出现什么!!: if not rs.eof then response.write "该呢称已被使用!" response.end else resposne.wite"没有使用的昵称!" end if


最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-22 15:14
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
收藏
得分:0 
以下是引用hell在2004-06-22 14:57:58的发言:

2.chat.asp ----------------------------------------------------------------------------------------------------- <title>==chat==</title> <% function sqlstr(data) sqlstr="'"&replace(data,"'","''")&"'" end function nickname=trim(request("nickname")) if nickname="" then response.write "呢称不能为空!请<a href=default.asp><font color=red>返回</font></a>重新输入呢称!" response.end end if '判断数据库中是否存在同样呢称的用户,并且该用户正在线上 dim conn,dbpath on error resume next set conn=server.createobject("adodb.connection") dbpath=server.mappath("img\chatroom.mdb") conn.open "provider=microsoft.jet.oledb.4.0;data source="&dbpath set rs=server.createobject("adodb.recordset") sqlstr="select * from online where 姓名="&sqlstr(nickname) rs.open sqlstr,conn if not rs.eof then response.write "该呢称已被使用!" response.end end if ''''''''''''''''''''''''''''' rs.close conn.close set rs=nothing set conn=nothing %>

2.chat.asp ----------------------------------------------------------------------------------------------------- <title>==chat==</title> <% function sqlstr(data) sqlstr="'"&replace(data,"'","''")&"'" end function nickname=trim(request("nickname")) if nickname="" then response.write "呢称不能为空!请<a href=default.asp><font color=red>返回</font></a>重新输入呢称!" response.end else '判断数据库中是否存在同样呢称的用户,并且该用户正在线上 dim conn,dbpath on error resume next set conn=server.createobject("adodb.connection") dbpath=server.mappath("img\chatroom.mdb") conn.open "provider=microsoft.jet.oledb.4.0;data source="&dbpath set rs=server.createobject("adodb.recordset") sqlstr="select * from online where 姓名="&sqlstr(nickname) rs.open sqlstr,conn if not rs.eof then response.write "该呢称已被使用!" response.end end if ''''''''''''''''''''''''''''' end if rs.close conn.close set rs=nothing set conn=nothing %>

看看可以吗?


59ita点com(我就爱TA)
2004-06-22 15:35
hell
Rank: 1
等 级:新手上路
帖 子:81
专家分:0
注 册:2004-6-3
收藏
得分:0 

谢谢两位版主:好了! 什么地方都没改啊,为什么有时就调不通呢? 这种情总会不会是IIS的问题啊?如果是我就恢复一下系统, 这样太浪费感情了!唉 --------------------------------------------------------------------------- <title>==chat==</title> <% '过滤用户输入的呢称 function sqlstr(data) sqlstr="'"&replace(data,"'","''")&"'" end function '获取nickname nickname=trim(request("nickname")) if nickname="" then response.write "呢称不能为空!请<a href=default.asp><font color=red>返回</font></a>重新输入呢称!" response.end end if '判断数据库中是否存在同样呢称的用户,并且该用户正在线上 dim conn,dbpath on error resume next set conn=server.createobject("adodb.connection") dbpath=server.mappath("img\chatroom.mdb") conn.open "provider=microsoft.jet.oledb.4.0;data source="&dbpath set rs=server.createobject("adodb.recordset") 'sqlstring="select * from online where 姓名='"&nickname&"'" sqlstring="select * from online where 姓名="&sqlstr(nickname) rs.open sqlstring,conn if not rs.eof then response.write "你选择的呢称已被使用!" response.end end if rs.close conn.close set rs=nothing set conn=nothing %>

[此贴子已经被作者于2004-06-22 16:39:07编辑过]


2004-06-22 16:36
belin2000
Rank: 3Rank: 3
等 级:论坛游侠
威 望:5
帖 子:975
专家分:194
注 册:2004-6-2
收藏
得分:0 
应该是iis的问题

59ita点com(我就爱TA)
2004-06-22 18:36
regedit
Rank: 5Rank: 5
等 级:贵宾
威 望:19
帖 子:950
专家分:0
注 册:2004-6-8
收藏
得分:0 
对,有时候IIS也会有些傻呼呼的!!!

最新作品:百货品牌商品资讯第一门户([url]http://www./[/url]),欢迎交流
2004-06-23 12:25
寒星
Rank: 1
等 级:新手上路
帖 子:455
专家分:0
注 册:2004-6-7
收藏
得分:0 

这种情况经常碰到,这个你就慢慢的调试把

iis的设置问题


http://www. 版主位置空缺
2004-06-24 13:52
快速回复:菜鸟问题:求大家们看看!!!
数据加载中...
 
   



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

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