学习型 ASP/PHP/ASP.NET 主机 30元/年全能 ASP/PHP/ASP.NET 主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付
发新话题
打印

菜鸟问题:求大家们看看!!!

菜鸟问题:求大家们看看!!!

哥哥姐姐弟弟妹妹们过节好:帮我看看啊? 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编辑过]

TOP

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

我是假的!我没脑筋,没有心肠,没有胆子,没有骨气,没剑,没钱,是个真真的大洞口.我身上空得连一块肉都没有... http://www.jqjsw.com 剧情介绍网......

TOP

以下是引用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 %>

看看可以吗?

http://www.59ita.cn

TOP

谢谢两位版主:好了! 什么地方都没改啊,为什么有时就调不通呢? 这种情总会不会是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编辑过]

TOP

应该是iis的问题
http://www.59ita.cn

TOP

对,有时候IIS也会有些傻呼呼的!!!
我是假的!我没脑筋,没有心肠,没有胆子,没有骨气,没剑,没钱,是个真真的大洞口.我身上空得连一块肉都没有... http://www.jqjsw.com 剧情介绍网......

TOP

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

iis的设置问题

http://www.68bar.com 版主位置空缺

TOP

发新话题