⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 messages.asp

📁 ASP+SQL Server动态网站开发从基础到实践教程
💻 ASP
字号:
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Refresh" content="5">
<link href="styles.css" rel="stylesheet" type="text/css">
</head>

<body leftmargin="5">
<!--#include file="config.asp" -->
<%
on error resume next
'检查用户是否登录
call openDB
varSQL = "SELECT * FROM USERS WHERE Username = '" & session.contents("Username") & "';"
rs.open varSQL, conn, 0, 1
if rs.EOF then
	Session.Contents.RemoveAll()
else
	varActive = rs("Active")
	if varActive = 0 then
		Session.Contents.RemoveAll()
	end if
end if

if NOT session.contents("Status") = "" then
	varUsername = session.contents("Username")
	varUserID = session.contents("UserID")
	'过滤掉不雅观的词汇
	Dim swear(10)
	swear(0) = "fuck"
	swear(1) = "shit"
	swear(2) = "cunt"
	swear(3) = "bastard"
	swear(4) = "bollock"
	swear(5) = "twat"
	swear(6) = "piss"
	swear(7) = "wank"
	swear(8) = "arse"
	swear(9) = "slag"
	swear(10) = "knob"
	
	call openDB
	'查询显示出当前聊天室最近的10条发言
	rs.Open "Select Top 10 * from  MESSAGES INNER JOIN USERS ON MESSAGES.UserID = USERS.UserID WHERE MESSAGES.RoomID = " & session.contents("RoomID") & " ORDER BY MessageID DESC", conn, 0, 1
	if rs.EOF then
		response.write "There are currently no messages entered for this room"
	else
		rs.movefirst
		response.write "<br>"
		i=0
		do
			i=i+1
			varUser = rs("Username")
			varMessage = rs("Message")
			varStyle = rs("Style")
			varColour = rs("Colour")
			varTime = rs("Time")
			varTime = FormatDateTime(varTime, 4)
			
			if session.contents("SwearFilter") = "on" then
				for each item in swear
					'
					Dim oRegExp
					Set oRegExp = new RegExp
					oRegExp.IgnoreCase = True
					
					oRegExp.Pattern = item
					'替换掉不雅观的词语
					varMessage = oRegexp.Replace(varMessage, "(BEEP)")
					
				next
			end if
			
			if varStyle = "None" then
				response.write "<font color='red'><b>" & varUser & ":</b></font> <font color=" & varColour & ">" & varMessage & "</font> - <font size='1' color='red'>" & varTime & "</font><br><br>"
			else		
				response.write "<font color='red'><b>" & varUser & ":</b></font> <" & varStyle & "><font color=" & varColour & ">" & varMessage & "</font></" & varStyle & "> - <font size='1' color='red'>" & varTime & "</font><br><br>"
			end if
			rs.Movenext
		loop until i=10 OR rs.EOF
	end if
	
	call closeDB
	
	call openDB
	'检查用户是否有私聊信息
	varSQL = "SELECT * FROM PM WHERE User2ID = " & varUserID & " ORDER BY PMID Desc;"
	rs.Open varSQL, conn	
	
	if rs.EOF then  '如果没有,则不显示
		'no messages so do nothing
		'response.write "NO PMS"
	else
		'如果有私聊信息
		rs.movefirst
		if rs("New") = 1 then
			varUser2ID = rs("UserID")  '获取对方用户编号
			varPMID = rs("PMID")
			'弹出私聊对话框
			response.write "<script language='Javascript'>"
			response.write "window.open('pmwindow.asp?sltUser2ID=" & varUser2ID & "&txtStartID=" & varPMID & "', 'pm" & varPMID & "', 'width=250, height=150, scroll=no, toolbar=no')"
			response.write "</script>"
			call closeDB
			'将是否私聊的状态字段New设置为0,为1表示有新私聊信息
			call writeDB("UPDATE PM SET New='0' WHERE PMID = " & varPMID & ";")
		end if
	end if	
	
else
	response.write "你必须首先登录!"
	response.write "<script language='Javascript'>parent.location = 'home.asp'</script>"
end if

'如果有错误,则重新刷新页面
If Err.number<>0 then
	response.Redirect("messages.asp")
End If



%>
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -