|
![]() |
名片设计 CorelDRAW Illustrator AuotoCAD Painter 其他软件 Photoshop Fireworks Flash |
|
接下来,我们开始对用户登陆与发言实例程序进行分析: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 返回类别: 教程 上一教程: 使用INSTALLSHIELD制作ASP安装程序(1) 下一教程: W3 JMAIL中文使用说明 您可以阅读与"聊天室建设详解三"相关的教程: · 聊天室建设详解四 · 聊天室建设详解五 · 聊天室建设详解二 · 聊天室建设详解一 · 聊天室实现私聊(一) |
![]() ![]() |
快精灵印艺坊 版权所有 |
首页![]() ![]() ![]() ![]() ![]() ![]() ![]() |