Foros del Web » Creando para Internet » HTML »

Necesito un chat...

Estas en el tema de Necesito un chat... en el foro de HTML en Foros del Web. ¿Alguien sabe donde puedo conseguir un buen CHAT para mi sitio de internet? Sobre todo, uno donde se pueda EXPULSAR a los usuarios incomodos Y ...
  #1 (permalink)  
Antiguo 26/09/2003, 01:46
 
Fecha de Ingreso: septiembre-2003
Mensajes: 1
Antigüedad: 20 años, 6 meses
Puntos: 0
Pregunta Necesito un chat...

¿Alguien sabe donde puedo conseguir un buen CHAT para mi sitio de internet?

Sobre todo, uno donde se pueda EXPULSAR a los usuarios incomodos

Y que sea gratis...

Gracias, no sean gachos, pasen la info.

  #2 (permalink)  
Antiguo 26/09/2003, 18:43
Avatar de Gerald  
Fecha de Ingreso: julio-2003
Mensajes: 1.356
Antigüedad: 20 años, 9 meses
Puntos: 2
Bueno en www.jpilot.com o en www.bocazas.com :)

luego nos dices como te fue
__________________
Solo por Hoy: Trataré de fortalecer mi mente. Estudiaré y aprenderé algo útil
Hoteldipity
Arte Caracol
  #3 (permalink)  
Antiguo 15/10/2003, 03:42
 
Fecha de Ingreso: junio-2003
Mensajes: 31
Antigüedad: 20 años, 10 meses
Puntos: 0
Aqui te posteo un codigo realizado en php y mySQL realizado por un amigo de su web www.programacionweb.net

Vamos a explicar cómo hacer un chat utilizando PHP y MySQL, nos limitaremos a hacer las funciones básicas dejando para cada uno el diseño y los detalles, el primer paso que haremos será crear un archivo de conexión a la base de datos llamado conexion.php, que configuraremos de acuerdo con nuestras nescesidades:
Código PHP:
<? 
$db
=mysql_pconnect('direccion de la db','nombre de usuario','contraseña'); 
mysql_select_db("nombre de la bd",$db); 
?>

Y en esa base de datos crearemos dos tablas, la tabla c_mensajes:

Campo | Tipo | longitud
--------+---------+-----------
texto | text |
id | bigint | 20
color | varchar | 7


Y la tabla c_usuarios:

Campo | Tipo | longitud
--------+---------+-----------
nombre | varchar | 20
cookie | int | 11
time | int | 11


Una vez configurada la base de datos, crearemos la página principal del chat, una página que llamaremos index.php y que que tendrá tres frames que serán:
mensajes - Marco donde se mostrarán los mensajes
usuario - Marco donde interactuará el usuario
script - Marco invisible que escribirá los mensajes
El código que propongo para la página es:

index.php
Código PHP:
<html
<
head
<
title>Chat</title
</
head
<
frameset rows="*,62"
  <
frame src="about:blank" name="mensajes"
  <
frameset cols="*,0" frameborder="0"
     <
frame src="usuario.php" name="usuario" scrolling="no" noresize
     <
frame src="script.php" name="script" scrolling="no" noresize
  </
frameset
  <
noframes
  <
body
  <
p>Esta página usa marcospero su explorador no los admite.</p
  </
body
  </
noframes
</
frameset
</
html
Una vez completada esta tarea, crearemos la página de interaccion con el usuario llamada usuario.php, en la que se conectará y enviara sus mensajes:

usuario.php
Código PHP:
<? 
include 'conexion.php'
if(
ereg("^[a-zA-Z0-9_]{4,12}$",$nombre)){ 
   
$provar mysql_result(mysql_query("SELECT nombre FROM c_usuarios WHERE nombre = '$nombre'",$db),0); 
   if(
$provar == ''){ 
      
$random rand(100000,999999); 
      
mysql_query("INSERT INTO c_usuarios (nombre,cookie,time) VALUES ('$nombre','$random',".time().")",$db); 
      
setcookie ("ident","$random"); 
      
mysql_query("INSERT INTO c_mensajes (texto,id,color) VALUES ('El usuario $nombre acaba de conectarse',".time().",'#FF0000')",$db); 
      
$ident $random;      
   } 

?><html> 
<body topmargin="0" leftmargin="0"> 
<? 
if($ident != ''){ 
   
$usuario mysql_result(mysql_query("SELECT nombre FROM c_usuarios WHERE cookie = $ident",$db),0); 

if(
$usuario != ''){ 
   if(
$mensaje != ''){ 
       
$mensaje str_replace("'","\"",$mensaje); 
       
$mensaje str_replace('&','&amp;',$mensaje); 
       
$mensaje str_replace('<','&lt;',$mensaje); 
       
mysql_query("INSERT INTO c_mensajes (texto,id,color) VALUES ('<b>$usuario</b> - $mensaje',".time().",'#000000')",$db); 
   } 
?><form method="POST" action="?pagina=usuario" onsubmit="enviando = 1"> 
  <script>enviando = 0</script><p align="center">Escribe un mensaje para enviar<br> 
<input type="text" name="mensaje" size="49" onkeydown="if(enviando == 1)alert('Se esta enviando tu anterior mensaje')"><input type="submit" value="Enviar" name="B1"></p> 
</form><? 

else { 
?><form method="POST" action="?pagina=usuario"> 
  <p align="center"><? 
   
if($nombre == '')echo 'Escribe un nombre de usuario para conectar'
   else echo 
'<font color="#FF0000">El nombre no sirve o ya esta ocupado</font>'
?><br> 
<input type="text" name="nombre" size="49" value="<? echo $nombre?>"><input type="submit" value="Enviar" name="B1"></p> 
</form><? 

?> 
<script>document.forms[0][0].focus()</script></body> 
</html>
Esta página se encarga de la conexion del usuario y de mandar los mensajes, es la página que hay que mejorar añadiendo por ejemplo emoticonos.

Y finalmente haremos el ultimo archivo, llamado script.php:

script.php
Código PHP:
<script><? 
include 'conexion.php'
function 
mensaje($texto,$color){ 
   echo 
"top.frames[\"mensajes\"].document.writeln('<font color=\"$color\">$texto</font><br>'); 
top.frames[\"mensajes\"].document.body.scrollTop = 1000000000; 
"


$borra ="SELECT * FROM c_usuarios WHERE time < ".(time()-30); 
$borra=mysql_query($borra,$db); 
while (
$borrado=mysql_fetch_array($borra))mysql_query("INSERT INTO c_mensajes (texto,id,color) VALUES ('El usuario ".$borrado["nombre"]." ha sido desconectado',".time().",'#FF0000')",$db); 
mysql_query("DELETE FROM c_usuarios WHERE time < ".(time()-30),$db); 
mysql_query("DELETE FROM c_mensajes WHERE id < ".(time()-30),$db); 
if(
$ident != ''){ 
   
$usuario mysql_result(mysql_query("SELECT nombre FROM c_usuarios WHERE cookie = $ident",$db),0); 

if(
$usuario != ''){ 
   if(
$id == ''){ 
      
mensaje("Conectado al chat cómo: $usuario","#FF0000"); 
   } 
   else { 
        
mysql_query("UPDATE c_usuarios SET time = ".time()." WHERE cookie = '$ident'",$db); 
       
$mensajes="SELECT * FROM c_mensajes WHERE id > ".$id." AND id < ".time()." ORDER BY id"
       
$mensajes=mysql_query($mensajes,$db); 
       while (
$row=mysql_fetch_array($mensajes))mensaje($row["texto"],$row["color"]); 
   } 
   echo 
"setTimeout(\"document.location = '?pagina=script&id=".(time()-1)."'\",1000); 
"


else { 
   echo 
"location.reload()"

?></script>
Subiremos los archivos a un directorio de nuestra web y ya podreis empezar a usarlo.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 14:49.