Chat en Asp

Por: Carlos Alberto Arango Schutz
Script diseñado por Caas Producciones
Programador: Carlos Alberto Arango Schutz
Programa propiedad de: Caas Producciones (este programa es código libre, cualquier alteración del mismo NO será penalizada)
Nota Importante: Caas Producciones no se hace responsable de cualquier uso indebido de este programa o código 
Publicado el: 07/08/06

Este Chat a sido diseñado con el fin de no tener que utilizar un Chat IRC que en muchos servidores gratuitos no funciona o una base de datos, parte de este Script fue inspirado por una publicación en la Web del programador allá podrá encontrar un Script muy parecido a este.

En este articulo no me pondré a explicar el código como en otras publicaciones simplemente explicare como funciona el Chat y al final como siempre dejare el código.

Primero necesitaremos 5 archivos llamados:

  1. cerrar.asp

  2. default.htm

  3. Global.asa

  4. incluir.asp

  5. Visualizacion.asp

El Archivo Cerrar.asp hace lo siguiente:

Este archivo simplemente elimina la cookie con el apodo o el nombre de usuario y cierra la ventana del Chat.

El Código:

<% if Request.cookies("Apodo")<>"" then
Application.Lock
Temporal=Application("Opiniones")
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
Temporal(0)="<FONT COLOR=""#FF0000"">** " &Request.cookies("Apodo")&" ** Se va del minichat</FONT>"
Application("Opiniones")=Temporal
Application.Unlock
response.cookies("apodo")=""

END IF%>
<html>
<head>
<script language="JavaScript">
{close();}
</SCRIPT>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
</head>
<BODY>
</BODY>
</html>

El Archivo default.htm hace lo siguiente:

Este archivo solo contiene unos frames que visualizan los archivos incluir.asp y Visualizacion.asp.

El Código:

<%@ Language=VBScript %>

<% PaginaActual="http://"&_
Request.ServerVariables("SERVER_NAME")&_
Request.ServerVariables("SCRIPT_NAME") %>
<html>
<head>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<META HTTP-EQUIV="REFRESH" CONTENT="5;<%=PaginaActual%>">
<title>MiniChat (visualización)</title>
<base target="_self">
</head>

<body link="#C0C0C0" vlink="#C0C0C0" alink="#C0C0C0" text="#808080" bgcolor="#FFFFFF">
</body>

</html>

El Archivo Global.asa hace lo siguiente:

Este archivo solo contiene unas variables declaradas para el funcionamiento del Chat.

El Código:

<%@ Language=VBScript %>
<html>
<head>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
</head>
<body>
<SCRIPT LANGUAGE="VBScript" RUNAT="Server">
Sub Application_OnStart
Dim Auxiliar()
Redim Auxiliar(9)
Application("Opiniones")=Auxiliar
End Sub
</SCRIPT>


</body>
</html>

El Archivo incluir.asp hace lo siguiente:

Manda la información del mensaje al archivo Visualizacion.asp.

El Código:

<%
IF Request.Cookies("Apodo")="" and request.form("opinion")<>"" THEN
if request.form("apodo")<>"" then
Response.Cookies("Apodo")=Request.Form("Apodo")
else
Response.Cookies("Apodo")="Anonimo"
end if
Application.Lock
Temporal=Application("Opiniones")
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
if request.form("apodo")<>"" then
Temporal(0)="<FONT COLOR=""#000000"">** " & Request.Form("Apodo") & " ** a escrito un comentario</FONT>"
else
Temporal(0)="<FONT COLOR=""#000000"">** Anonimo ** a escrito un comentario</FONT>"
end if
Application("Opiniones")=Temporal
Application.Unlock

END IF
IF Request.Form("Opinion")<>"" THEN
Apodo=Request.Cookies("Apodo")
Application.Lock
Temporal=Application("Opiniones")
FOR i=7 TO 0 STEP -1
Temporal(i+1)=Temporal(i)
NEXT
Temporal(0)=Apodo&": "&Request.Form("Opinion")
Application("Opiniones")=Temporal
Application.Unlock
END IF%>
<html>
<head>
<title>incluir opinion</title>
<base target="_self">
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
</head>
<body bgcolor="#000000" link="#C0C0C0" vlink="#C0C0C0" alink="#C0C0C0">

<FORM METHOD="POST" ACTION="incluir.asp">
<% IF Request.Cookies("Apodo")="" THEN %>

<p align="center"><b><font face="Goudy Old Style" size="2" color="#FFFFFF">Deje
Aquí su Comentario o Chatee con este servicio previsto por Caas Producciones
2006</font></b></p>
<p align="center"><b><font size="2" color="#C0C0C0" face="Goudy Old Style">Su
Nombre u/o Apodo:</font><font size="2" face="Goudy Old Style"> </font>
</b><font face="Goudy Old Style">
<INPUT TYPE="TEXT" SIZE=10 NAME="Apodo" ID="Text1"><b><font size="2">
</font>
</b>
<input type="hidden" name="go" size="20" value="si" ID="Hidden1" style="font-weight: 700">
<b><font size="2">
<% END IF %>
</font></b></font></p>
<p align="center"><font size="2" face="Goudy Old Style" color="#C0C0C0"><b> Mensaje: </b>
</font><font face="Goudy Old Style">
<INPUT TYPE="TEXT" SIZE=30 NAME="Opinion" ID="Text2"><b><font size="2">
</font></b>
<INPUT TYPE="SUBMIT" VALUE="Enviar" ID="Submit1" NAME="Submit1" style="font-weight: 700"><b><font size="2">
</font></b></font></p>
<p align="center"><font face="Goudy Old Style">
<b>
<a href="cerrar.asp" target="_top"><font size="2" color="#C0C0C0">Salir</font></a><font size="2" color="#C0C0C0">
(este enlace cierra Caas Producciones)</font></b></font></p>
</FORM>
</body>
</html>

El Archivo Visualizacion.asp hace lo siguiente:

Muestra el mensaje de el Chat

El Código:

<%@ Language=VBScript %>

<% PaginaActual="http://"&_
Request.ServerVariables("SERVER_NAME")&_
Request.ServerVariables("SCRIPT_NAME") %>
<html>
<head>
<meta name="GENERATOR" Content="Microsoft Visual Studio .NET 7.1">
<META HTTP-EQUIV="REFRESH" CONTENT="5;<%=PaginaActual%>">
<title>MiniChat (visualización)</title>
<base target="_self">
</head>

<body link="#C0C0C0" vlink="#C0C0C0" alink="#C0C0C0" text="#808080" bgcolor="#FFFFFF">
<FONT FACE="Comic Sans MS" COLOR="Blue" size="1">
<%
IF NOT isArray(Application("Opiniones")) THEN
Application.Lock
Dim Auxiliar()
Redim Auxiliar(9)
Application("Opiniones")=Auxiliar
Application.UnLock
END IF

Temporal=Application("Opiniones")
FOR Opinion=8 to 0 step -1%>
<%= Temporal(Opinion) %> <BR>
<% NEXT %>
</body>
</html>

Este Chat esta instalado en la pagina principal de Caas Producciones para ir pulse aquí.