Chat em ASP

O código que lhes mostro é o utilizado no chat de minha web, o introduzir melhoras será com vocês, é fácil adicionar funcionalidades ao estilo das que vocês verão em outros chats em Java, como cores, lista de usuários, etc …

Bom, começamos pelo princípio.

1.-O primeiro que necessitamos é um lugar para armazenar as frases que os usuários introduzirem para logo mostrá-las. Para isso, usaremos um array de nove elementos, que serão a quantidade de frases que mostraremos no chat ( poderão mudar o número ao que lhes parecer oportuno). Este array será salvo dentro do objeto Application, a fim de que possa ser acessado por todo o mundo. A fim de que esteja disponível sempre, o criaremos dentro do arquivo global.asa.

Global.asa

<SCRIPT LANGUAGE=”VBScript” RUNAT=”Server”>
Sub Application_OnStart
Dim Auxiliar()
Redim Auxiliar(9)
Application(“Opinioes”)=Auxiliar
End Sub
</SCRIPT>

A partir deste momento temos uma variável de aplicação denominada “opiniões” que contém nosso chat .

2.-O seguinte que necessitamos é uma página que nos mostre o conteúdo de nosso chat (ou seja, o que há em application(“opinioes”). A este modulo o denominaremos visualizacao.asp. Consiste em uma página que se chama a si mesma cada x segundos (META HTTP-EQUIV=”REFRESH” CONTENT=”5), com o que nos refresca a informação, e que mostra os dados contidos em Application(“opinioes”) mediante um simples loop FOR

Visualizacao.asp

<% PaginaAtual=”http://”&_
Request.ServerVariables(“SERVER_NAME”)&_
Request.ServerVariables(“SCRIPT_NAME”) %>
<html>

<head>
<META HTTP-EQUIV=”REFRESH” CONTENT=”5;<%=PaginaActual%>”>
<title>MiniChat (visualizacao)</title>
</head>

<body>
<FONT FACE=”Comic Sans MS” COLOR=”Blue” size=”1″>
<%
IF NOT isArray( Application(“Opinioes”)) THEN
Application.Lock
Dim Auxiliar()
Redim Auxiliar(9)
Application(“Opinioes”)=Auxiliar
Application.UnLock
END IF

Temporal=Application(“Opinioes”)
FOR Opinion=8 to 0 step -1%>
<%= Temporal(Opinion) %> <BR>
<% NEXT %>
<FONT>
</body>

</html>

3.-Nosso terceiro módulo será “incluir.asp” o qual nos vai permitir que os usuários escrevam opiniões no chat. Para que um usuário escreva uma colaboração, este usuário deve estar identificado por um apelido ou “nick”, este apelido será salvo em uma cookie.

incluir.asp

<%
IF Request.Cookies(“Apelido”)=”” and request.form(“opiniao”)<>”” THEN
if request.form(“apelido”)<>”” then
Response.Cookies(“Apelido”)=Request.Form(“Apelido”)
else
Response.Cookies(“Apelido”)=”Anônimo”
end if
Application.Lock
Temporal=Application(“Opinioes”)
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
if request.form(“apelido”)<>”” then
Temporal(0)=”<FONT COLOR=””#000000″”>** ” & Request.Form(“Apelido”) & ” ** Entra no minichat</FONT>”
else
Temporal(0)=”<FONT COLOR=””#000000″”>** Anonimo ** Entra no minichat</FONT>”
end if
Application(“Opinioes”)=Temporal
Application.Unlock

END IF
IF Request.Form(“Opiniao”)<>”” THEN
Apelido=Request.Cookies(“Apelido”)
Application.Lock
Temporal=Application(“Opinioes”)
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
Temporal(0)=Apodo&”: “&Request.Form(“Opiniao”)
Application(“Opiniao”)=Temporal
Application.Unlock
END IF%>

<html>

<head>
<title>incluir opiniao</title>
<base target=”_self”>
</head>

<body bgcolor=”#6699FF”>
<FORM METHOD=”POST” ACTION=”incluir.asp”>
<% IF Request.Cookies(“Apelido”)=”” THEN %>
<font color=”#FFFFFF”>
Apelido:</font> <INPUT TYPE=”TEXT” SIZE=10 NAME=”Apelido”>
<input type=”hidden” name=”go” size=”20″ value=”si”><BR>
<% END IF %>
<INPUT TYPE=”TEXT” SIZE=30 NAME=”Opiniao”>
<INPUT TYPE=”SUBMIT” VALUE=”Enviar”>
<a href=”fechar.asp” target=”_top”>Sair</a>
</FORM>
</body>

</html>

4.- Quando o usuário terminar sua sessão de chat devemos eliminar a cookie que o identifica, para isso usaremos o modulo fechar.asp

fechar.asp

<% if Request.cookies(“Apelido”)<>”” then
Application.Lock
Temporal=Application(“Opinioes”)
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
Temporal(0)=”<FONT COLOR=””#FF0000″”>** ” &Request.cookies(“Apelido”)&” ** sai do minichat</FONT>”
Application(“Opinioes”)=Temporal
Application.Unlock
response.cookies(“apelido”)=””

END IF%>
<HTML>
<HEAD>
<script language=”JavaScript”>
{close();}
</SCRIPT>
</HEAD>
<BODY>
</BODY>
</HTML>

5.- Agora montaremos tudo em uma página de frames

default.asp

<html>

<head>
<title>Sala de bate-papo</title>
</head>

<FRAMESET rows=”*,70″>
<FRAME SRC=”visualizacao.asp”>
<FRAME SRC=”incluir.asp” target=”_self”>
</FRAMESET>

</html>

6.- Para que fique “bonito” mostraremos o chat em uma nova janela sem barras e menor, isso será feito com JavaScript

<HTML>
<HEAD>
<script language=”JavaScript”>
<!–
function openWindow(url, name) {
popupWin = window.open(url, name, ‘scrollbars,resizable,width=400,height=350’)
}
// –>
</script>
</HEAD>
<BODY BGCOLOR=”#FFFFFF” TEXT=”#000000″ LINK=”#000000″ VLINK=”#000000″>
<a HREF=”javascript:openWindow(‘default.asp’, ‘minichat’);”>Enter chatroom</a>
</BODY>
</HTML>

Fonte: http://www.criarweb.com/artigos/772.php

Deixe um comentário