Foros del Web » Programando para Internet » PHP »

como crear un mini chat

Estas en el tema de como crear un mini chat en el foro de PHP en Foros del Web. hola amigos...estoy trabajando en un webcast para una pagina en codigo php pero mi problema es q debe tener un panel de chat...ahora...este panel es ...
  #1 (permalink)  
Antiguo 16/01/2006, 11:58
 
Fecha de Ingreso: enero-2006
Mensajes: 5
Antigüedad: 18 años, 3 meses
Puntos: 0
Exclamación como crear un mini chat

hola amigos...estoy trabajando en un webcast para una pagina en codigo php pero mi problema es q debe tener un panel de chat...ahora...este panel es simple solo es de conversacion..no transferencia de archivos ni con smileys ni nada de eso..es solo enviar un texto y recibir un texto...simple conversacion...tiene que ser con codigo php...por favor kien pueda ayudarme con esto se lo agradeceria es muy urgente..busco por todos lados y encuentro chats completos para instalarlos en mi web...eso no es lo que busco...ojala alguien pueda ayudar les agradecere toda la vida gracias es muy urgente

jkegpacc
  #2 (permalink)  
Antiguo 16/01/2006, 12:05
Avatar de mauled  
Fecha de Ingreso: marzo-2005
Ubicación: Cd. de México.
Mensajes: 3.001
Antigüedad: 19 años, 1 mes
Puntos: 33
De acuerdo

En alguna ocasion esta página me sirvió pra resolver el mismo problema.
Si decidieras utilizar esta código te pediria de favor que comentes dentro del mismo la dirección de la página.

chat
  #3 (permalink)  
Antiguo 16/01/2006, 12:07
Avatar de eft0  
Fecha de Ingreso: junio-2003
Ubicación: Santiago - Chile
Mensajes: 635
Antigüedad: 20 años, 10 meses
Puntos: 9
Necesitas algo simple ?

- http://hot-things.net/blab_lite.php
  #4 (permalink)  
Antiguo 16/01/2006, 13:17
 
Fecha de Ingreso: marzo-2005
Mensajes: 41
Antigüedad: 19 años, 1 mes
Puntos: 0
Sonrisa Este es el mio

Hola hace poco estube trabajando en uno, contiene 3 frames, este es el codigo:

1. index.php --> Principal
Código PHP:
<?
session_start
();
    if(
$_POST)
    {
        include(
"ConectarMySql.php");
        include(
"maximo_id_usuarios.php");

        
$conn=ConexionMySQL();
        
$sql_busca_nick="SELECT * FROM usuarios WHERE nick='".$_POST['nick']."'";
        
$resultado=mysql_query($sql_busca_nick,$conn);
        
$registros=mysql_num_rows($resultado);
        
        if(
$registros>0)
        {
            echo 
"<link href='Chat.css' rel='stylesheet' type='text/css'>";
            echo 
'<br><h2>Este usuario ya existe. <a href="index.php">Volver</a></h2>';
        }
        else
        {
            
session_register("usuario","fecha_acceso");
            
$_SESSION['usuario']=$_POST['nick'];
            
$_SESSION['fecha_acceso']=date(YmdHis);
            
$sql_ins_user="INSERT INTO usuarios values(".maximo_id_usuarios().",'".$_POST['nick']."')";
            
$resultado=mysql_query($sql_ins_user,$conn);
            
setcookie("nick"$_POST['nick']);
            
header("Location: chat.php");
        }
    }
    else
    {

?>
    <script languaje="javascript">
    function validar(formulario)
    {
        var nick=formulario.nick.value;
        if(nick=="")
        {
            alert("Por favor digite un Nick \npara poder iniciar Session.");
            return (false);
        }
        return (true);
    }

    </script>

<?
        
echo "<link href='Chat.css' rel='stylesheet' type='text/css'>";
        echo 
'<br><br><br><h1>Chat</h1>';
        echo 
'<form action="" method=post name=f onSubmit = "return validar(this)">';
        echo 
'<table border=0 align=CENTER>';
        if(
$_COOKIE)
            echo 
'<tr><td><b>Nick:</b></td><td><input type=text class=cajon size=30 maxlength=15 name=nick value='.$_COOKIE['nick'].'></td></tr>';
        else
            echo 
'<tr><td><b>Nick:</b></td><td><input type=text class=cajon size=15 name=nick></td></tr>';
        echo 
'<tr><td colspan=2 align=CENTER><input type=submit class=boton value=Ingresar></td><tr>';
        echo 
'</table>';
        echo 
'</form>';
    }
?>
2. Chat.php --> Todos los frames

Código PHP:
<?
    session_start
();
    if(!
session_is_registered('usuario'))
    {
        
header("Location: index.php");    
    }
?>
<html>
<head>
<LINK REL="SHORTCUT ICON" HREF="Imagenes/Icono.ico"> 
       <title>Chat</title>
    <frameset cols=*,170 rows=* framespacing=0 frameborder=yes border=1>    
           <frameset rows=*,120 cols="*" framespacing=0 frameborder=yes border=1>
               <frame src="visor.php" name="topframe">
               <frame src="enviar.php" name="downframe">
           </frameset>
        <frame src="usuarios.php" name="rigthframe">        
    </frameset>  
</head>
<body>
</body>
</html>
3. Enviar.php

<?
session_start();
?>
<script lnaguage="JavaScript">
function abre_emoticons()
{
x=screen.width;
y=screen.height;
mi_width=350;
mi_height=250;

mi_top=(y/2)-(mi_height/2);
mi_left=(x/2)-(mi_width/2);

//"width=350,height=200,top=100,left=100,resizable=n o,scrollbars=no,menubar=no,toolbar=no,status=yes,l ocation=no"
estilo="width="+mi_width+",height="+mi_height+",to p="+mi_top+",left="+mi_left+",resizable=no,scrollb ars=no,menubar=no,toolbar=no,status=yes,location=n o";

ventana=window.open("Emoticons.php","Emoticons",es tilo);

}

</script>
<?
include("ConectarMySql.php");
include("maximo_id_mensaje.php");

if(!session_is_registered('usuario'))
{
header("Location: index.php");
}
session_register("color_fuente","tamano_fuente");
$_SESSION['color_fuente']=$_POST['color'];
$_SESSION['tamano_fuente']=$_POST['fuente'];

if($_POST)
{
echo "<link href='Chat.css' rel='stylesheet' type='text/css'>";

$mensaje_formateado="<FONT COLOR=".$_POST['color']." size=".$_POST['fuente'].">".$_POST['mensaje']."</FONT>";

$conn=ConexionMySQL();
//$sql_mensaje="INSERT INTO mensaje VALUES(".maximo_id_mensaje().",'".date(YmdHis)."', '".$_SESSION['usuario']."','".$_POST['para']."','".$_POST['mensaje']."')";
$sql_mensaje="INSERT INTO mensaje VALUES(".maximo_id_mensaje().",'".date(YmdHis)."', '".$_SESSION['usuario']."','".$_POST['para']."','".$mensaje_formateado."')";
mysql_query($sql_mensaje,$conn);
}
echo "<link href='Chat.css' rel='stylesheet' type='text/css'>";

?>

<table border=0 align=CENTER>
<form name=f method=post>
<tr><td>Mensaje:</td><td><input type=text class=cajon2 name=mensaje maxlength=255 size=60></td><td><input type=submit class=boton value=Enviar></td></tr>
<tr><td>Mensaje para:</td><td><input type=text class=cajon name=para value=TODOS readonly>&nbsp;<a href="javascript:abre_emoticons()"><img src="Imagenes/emo.gif" width=23 heigth=23 border=0></a></td><td><a href="Logout.php" target=_top >Cerrar Session</a></td></tr>
<tr><td>Color:</td>
<td>
<select name=color class=lista>
<?
if($_SESSION['color_fuente']!="")
{
echo '<option value='.$_SESSION['color_fuente'].' selected>-- --</option>';
echo '<option value=green>Verde</option>';
echo '<option value=red>Rojo</option>';
echo '<option value=blue>Azul</option>';
echo '<option value=yellow>Amarillo</option>';
echo '<option value=gray>Gris</option>';
echo '<option value=pink>Rosado</option>';
}
else
{
echo '<option value=green>Verde</option>';
echo '<option value=red>Rojo</option>';
echo '<option value=blue>Azul</option>';
echo '<option value=yellow>Amarillo</option>';
echo '<option value=gray>Gris</option>';
echo '<option value=pink>Rosado</option>';
}
?>
</select>
&nbsp;&nbsp;&nbsp;&nbsp;
<select name=fuente class=lista>
<?
if($_SESSION['tamano_fuente']!="")
{
echo '<option value='.$_SESSION['tamano_fuente'].' selected>-- --</option>';
echo '<option value=3>3</option>';
echo '<option value=2>2</option>';
echo '<option value=1>1</option>';
echo '<option value=4>4</option>';
echo '<option value=5>5</option>';
echo '<option value=6>6</option>';
echo '<option value=7>7</option>';
echo '<option value=8>8</option>';
}
else
{
echo '<option value=3>3</option>';
echo '<option value=2>2</option>';
echo '<option value=1>1</option>';
echo '<option value=4>4</option>';
echo '<option value=5>5</option>';
echo '<option value=6>6</option>';
echo '<option value=7>7</option>';
echo '<option value=8>8</option>';
}
?>
</select>
</td>
<td><A HREF="archivos.php?nombre_archivo=<?echo date(YmdHis);?>" target=blank>HISTORIAL</A></td>

</tr>
<script language="JavaScript">
document.f.mensaje.focus();
</script>
</form>
</table>
<center>
</center>

3. Usuarios
Código PHP:
<?
    session_start
();
    include(
"ConectarMySql.php");
?>
    <META http-equiv="refresh" content="5;URL=usuarios.php">

    <script language="JavaScript">
    function retorna_para(nombre)
    {
        parent.downframe.document.f.para.value=nombre;
    }
    </script>
<?    
    
echo "<link href='Chat.css' rel='stylesheet' type='text/css'>";
    
$conn=ConexionMySQL();
    
$sql_usuarios="SELECT * FROM usuarios";
    
$resultado=mysql_query($sql_usuarios,$conn);
    
    echo 
"<h3>Usuarios Registrados: <b>".mysql_num_rows($resultado)."</b></h3><br>";

    echo 
'<h3>[ '.$_SESSION['usuario'].' ]</h3>';    

    echo 
"<div style='height:350;overflow:auto'>";
    echo 
'<center><table border=0 align=CENTER>';
    
    
    
    while(
$row=mysql_fetch_array($resultado))
    {

        
//echo '<tr><td width=50>'.$row[0].'</td><td width=150>'.$row[1].'</td></tr>';
        
echo '<tr><td width=50 align=CENTER>'.$row[0].'</td><td width=150>';
        
?><a href='javascript:retorna_para("<? echo $row[1];?>")'><? echo $row[1];?></a> <?
        
echo '</td></tr>';

    }
    echo 
'</table><center>';
?>
</div>
<br><br><center><a href='javascript:retorna_para("TODOS")'>TODOS</a></center>
  #5 (permalink)  
Antiguo 16/01/2006, 13:37
 
Fecha de Ingreso: febrero-2005
Mensajes: 187
Antigüedad: 19 años, 2 meses
Puntos: 2
Una pregunta:

Alguna vez hice un chat ayudandome de javascript, lo hacia con bases de datos en php, pero lo que hacia realmente era actualizar la pagina cada 1 segundo, lo que implicaba demasiadas peticiones al servidor en un minuto y aumentaba de acuerdo con la cantidad de usuarios. Como sabes consume mucha transferencia mensual.

En estos ejemplos no ocurre lo mismo?

Mas pensando que muchos servidores ofrecen una tasa de transferencia mensual baja, suponganse 5000 mb de transferencia mensual, y un chat con un promedio de 15 personas conectadas.
__________________
___________________________
Hosting y Dominios en colombia
Blog de Cubica
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.
Tema Cerrado

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




La zona horaria es GMT -6. Ahora son las 18:44.