|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
缺点:正版成本价格贵(盗版就不说了)、不够安全,大多数服务器用windows系统,没有linux安全 接上去,咱们入手下手对用户上岸与讲话实例法式停止剖析: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("D4") &_
"', '"& time1 & "'"
into_db = "INSERT INTO 在线用户表 ( 姓名, 性别, 上岸工夫 ) VALUES(" &_ 添加这个用户
sz & ")"
conn.Execute(into_db)
name=Request("name")
sex=Request("D4")
ming="办理员公布" 办理员入手下手公布接待这位(师长教师/密斯)的惠临
sz="<font size=5 color=#FF0000><strong>" & "强烈热闹接待" & name & sex & "的惠临"
into_db2 = "INSERT INTO 聊天表 ( 姓名,措辞 ) VALUES('" & ming & "','" & sz & "')"
conn.Execute(into_db2)
end if
end if%>
2、用户讲话
用户入手下手真正讲话
<%addr=Request("REMOTE_ADDR")%> 用户IP
<form method="POST" action="chatadd1.asp"> 用户讲话表单
<p><input type="hidden" name="ip" value="<%=addr%>"><p>
<p><input type="hidden" name="name" value="<%=Request("name")%>"><p>
<p><input type="text" name="word" size="70"><input type="submit" value="讲话" name="B3"><input
type="reset" value="回复复兴" name="B4">
<p>色彩:<select name="D1" size="1" style="color: rgb(0,0,128)">
<option value=" ">黑色</option> 色彩选择
<option value="#ff0000">白色</option>
<option value="#008000">绿色</option>
<option value="#0000FF">蓝色</option>
<option value="#800080">紫色</option>
<option value="#008080">青色</option>
<option value="#800000">深白色</option>
<option value="#00ff00">草绿色</option>
<option value="#00ffff">海蓝色</option>
</select>
<%
Set Conn=Server.CreateObject("ADODB.Connection") 查询更新在线用户
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
sql="SELECT * FROM 在线用户表 "
Set Rs=conn.Execute(sql)
%>
对象:<select name="D2" size="1" style="color: rgb(0,0,128)"> 从在线用户当选择措辞对象
<option value="人人">人人</option>
<%Do While not Rs.Eof 在线用户表单
if Rs("姓名")=Request("D2") then
s="selected" 这里的前提界说s是为了坚持措辞对象的不变性,
else 利用户不用每次都选择措辞对象,你也能够对色彩
s="" 与脸色依样画葫芦。
end if%>
<option <%=s%> value="<%=Rs("姓名")%>"><%=Rs("姓名")%>(<%=Rs("性别")%>)</option>
<%
Rs.MoveNext
Loop
%>
</select>
脸色:<select name="D3" size="1" style="color: rgb(0,0,128)"> 脸色选择
<option value="浅笑着对">浅笑</option>
<option value="大笑着对">大笑</option>
<option value="呜咽着对">呜咽</option>
<option value="害臊着对">害臊</option>
<option value="红着脸对">酡颜</option>
<option value="恼怒的对">恼怒</option>
<option value="阴森的对">阴森</option>
<option value="狞笑着对">狞笑</option>
</select>
<input type="submit" value="分开聊天室" name="B5">
<a href="admin.asp">办理员进口</a>
</form>
<%
B3=Request("B3")
If B3="讲话" Then 筹办把用户讲话写到聊天表中
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr
%>
<%
word=Request("word")
if Request("word")="" then 假如甚么都没写就讲话,则默许讲话为两眼开开,正在发愣
word="两眼开开,正在发愣....."
end if
%>
<%
sz = "'" & Request("ip") &_ 把用户讲话写到聊天表中
"', '"& Request("name") &_
"', '"& Request("D1") &_
"', '"& Request("D3") &_
"', '"& Request("D2") &_
"', '"& word & "'"
into_db = "INSERT INTO 聊天表 ( ip, 姓名, 色彩, 脸色, 措辞对象, 措辞 ) VALUES(" &_
sz & ")"
conn.Execute(into_db)
conn.Close
end if
3、用户分开
B5=Request("B5")
If B5="分开聊天室" Then 假如用户选择分开聊天室则
Set Conn=Server.CreateObject("ADODB.Connection")
Connstr="DBQ="+server.mappath("chat.mdb")+";DRIVER={Microsoft Access Driver (*.mdb)};"
Conn.Open connstr 从在线名单中把他删除
sql5="delete * FROM 在线用户表 WHERE 姓名='" & Request("name") & "'"
conn.Execute(sql5)
name1=Request("name")
sex1=Request("D4")
ming1="办理员公布" 办理员公布此用户分开
sz1="<font size=5 color=#FF0000><strong>" & name1 & sex1 & "有事前分开,接待再来"
into_db2 = "INSERT INTO 聊天表 ( 姓名,措辞 ) VALUES('" & ming1 & "','" & sz1 & "')"
conn.Execute(into_db2)
conn.close
Response.Redirect "chat.asp"
end if
end if
%>
把此文件存为chatadd1.asp
优点:简单易学、开发速度快、有很多年“历史”,能找到非常多别人做好的程序来用、配合activeX功能强大,很多php做不到的asp+activeX能做到,例如银行安全控件 |
|