聊天室建设详解三

2016-01-29 17:10 7 1 收藏

聊天室建设详解三,聊天室建设详解三

【 tulaoshi.com - ASP 】

  接下来,我们开始对用户登陆与发言实例程序进行分析:chatadd1.asp

1、用户登陆

<%Response.Buffer=true%                指定缓存为真
<body bgcolor="#F8E17A"
<%if Request("name")="" then%             判断用户名是否为空,以判断用户是否在聊天界面
<%addr=Request("REMOTE_ADDR")%             获得用户IP
<form method="POST" action="chatadd1.asp"
<p<input type="hidden" name="IP" value="<%=addr%"<p 用户登陆表单
<p请输入匿名:<input type="text" name="name" size="15"
密码:<input type="password" name="pass" size="15"

性别:<select name="D4" size="1" style="color: rgb(0,0,128)"
<option value="先生"先生</option
<option value="女士"女士</option
</select

<input type="submit" value="发送" name="B1"
<input type="reset" value="复原" name="B2"</p
</form
<%=Request("a")%                    返回的错误变量


<%else%                        用户确在聊天界面中

<%B1=Request("B1")
If B1="发送" Then                    开始判断用户名与密码        

If Request("name")="" or Request("pass")="" Then    判断用户名与密码是否为空
a="名字或密码不能为空!<br"               如果为空,则定义此错误变量
Response.Redirect "chatadd1.asp?a=" & a & " "      错误一旦出现立即返回登陆界面
end if

Set Conn=Server.CreateObject("ADODB.Connection")    如果客户输入非空,则开始查询数据库
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 用户表 WHERE 姓名='" & Request("name") & "'" 查看数据库中是否存在这个用户
Set Rs=conn.Execute(sql)
If Rs.Bof OR Rs.Eof Then                 如果数据库中还没有这个用户,则
sz = "'" & Request("IP") &_               把该用户写入用户数据库
"', '"& Request("name") &_
"', '"& Request("D4") &_
"', '"& Request("pass") & "'"
into_db = "INSERT INTO 用户表 ( IP, 姓名, 性别, 密码 ) VALUES(" &_  写入用户数据库
sz & ")"
conn.Execute(into_db)

Else                           如果数据库中已经存在这个用户,则
If Request("pass")<Rs("密码") Then           查看他的密码是否正确。
a="这个名字已经被别人使用,或者你输入的口令不对!<br"   如果密码错误则定义错误信息
Response.Redirect "chatadd1.asp?a=" & a & " "      立即返回登陆界面并返回此错误信息
end if
end if


time1=now                   如果登陆表单没有任何错误,则开始成为在线用户并进入聊天
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 在线用户表 WHERE 姓名='" & Request("name") & "'"  查看在线名单中是否存在这个用户
Set Rs=conn.Execute(sql)
If Rs.Bof OR Rs.Eof Then                 如果在线名单中的确没有这个用户,则
sz = "'" & Request("name") &_                在在线用户表中添加这个用户
"', '"& Request(

来源:http://www.tulaoshi.com/n/20160129/1500540.html

延伸阅读
标签: Web开发
第三个页面 name="frame3.php" ? include "../signup/mysql.php"; //echo $userid; //echo $private; if($p)$p=1; else $p=0; if(($action="ok")and($p)){ $sql="select userid,id from chat_user_list where userid='$userid'"; $result=mysql_query($sql); $roww=mysql_fetch_array($r...
标签: ASP
  作者:网络之门    聊天室程序是一个application和session对象结合性很强的asp程序。首先,它比较具有实时性,聊天速度太慢,那么没有人会喜欢的,而且在多人同时发言的时侯,如果程序处理不好,那么难免会发生张官李戴的现象,比如说明明张三说的话在先。李四说的话在后,但显示出来的结果却是倒转了。还有就...
Internet上的聊天室一向是一个吸引人的地方,但多用C语言设计,我用VB设计了一个聊天室,取名为“升达自由论坛”,实际使用证明效果良好。 ----Internet上的通讯协议是TCP/IP,Internet上数据传输协议主要有TCP和UDP,TCP是有连接协议,它要求计算机进行对话时必须先建立连接,保证数据传送安全到达目的地。UDP是无连接协议,它只是将信息送到网...
标签: ASP
  作者:网络之门 几个要好的网友在聊天室里闲聊的时侯,总会遇上有些话题是不想同一聊天室内别的聊友看见的,那么聊天室支持悄悄话功能将是什分有必要的了,实现悄悄话的方法很多,现在小虎介绍一下利用session对象来实现它,用session对象来实现悄悄话,是有优缺点的,因为session对象的应用,其实就是客户端cookies的...
标签: ASP
  群言 sense 我曾经做过一个比较复杂的聊天室,几乎拥有BBS聊天室的所有功能,但因为是用application做的,所以比较浪费资源。我觉得用数据库做更可靠,更简单。 可以设定这样的一个数据库chat,结构如下: 字段名 类型 长度 备注 1.. OBJECT CHAR 10 操作对象,ALL或某人 2...

经验教程

479

收藏

51
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部