Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] problema chat php+mysql agregar comando a PHPWebChat

Estas en el tema de problema chat php+mysql agregar comando a PHPWebChat en el foro de PHP en Foros del Web. buenos dias. estoy buscando alguien que aya trabajado con PHPWebChat http://www.programacionweb.net/artic...ticulo/?num=40 tengo un problema quiero agregar un comando pero que este se imprima y todos ...
  #1 (permalink)  
Antiguo 18/11/2011, 23:19
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Pregunta problema chat php+mysql agregar comando a PHPWebChat

buenos dias.
estoy buscando alguien que aya trabajado con PHPWebChat

http://www.programacionweb.net/artic...ticulo/?num=40

tengo un problema quiero agregar un comando pero que este se imprima y todos los usuarios lo puedan ver yo hasta ahora he logrado guardarlo en la BD pero no logro hacer que se imprima. alguna idea?

gracias por su colaboración.
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #2 (permalink)  
Antiguo 19/11/2011, 12:47
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

Cita:
Iniciado por arcanisgk122
hasta ahora he logrado guardarlo en la BD pero no logro hacer que se imprima. alguna idea?
Ni idea... sin ver codigo es dificil siquiera imaginar lo que estas tratando de hacer.
__________________
- León, Guanajuato
- GV-Foto
  #3 (permalink)  
Antiguo 19/11/2011, 14:58
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

ok el código es muy extenso así que les dejo los link:

este es el repositorio hay subi la información
http://genesis1.zxq.net/repositorio/index.php

y el código el chat en funcionamiento esta en :
http://genesis1.zxq.net/chat/index.php

me faltaría agregar la función /roll 3d6 dentro del zip hay una explicación y bueno que el refresco de la ventana de chat no se note tanto.
y por si acaso sientes algún interes:

http://www.forosdelweb.com/f143/busc...9/#post4040509
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #4 (permalink)  
Antiguo 20/11/2011, 00:35
Avatar de Triby
Mod on free time
 
Fecha de Ingreso: agosto-2008
Ubicación: $MX->Gto['León'];
Mensajes: 10.106
Antigüedad: 15 años, 8 meses
Puntos: 2237
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

Tampoco es necesario todo el codigo, solo las modificaciones que has hecho para ejecutar ese comando e insertarlo en la base de datos... teoricamente, bastaria con hacerlo en la misma forma que insertas el comentario de un usuario.
__________________
- León, Guanajuato
- GV-Foto
  #5 (permalink)  
Antiguo 20/11/2011, 10:18
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

si el problema es que no encuentro exactamente donde se envía los comentarios a la capa de mensaje, y pues el comando si funciona ya lo hice correr del lado del usuario pero no lo imprime en pantalla supongo que me hace falta algo pero no se que pueda ser. si alguien puede ojear el código en la archibo script.php y mensajes.php
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #6 (permalink)  
Antiguo 20/11/2011, 21:28
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

bueno les traigo parte del codigo:

aki esta donde yo hago la la parte para ejecutar un roll de que va de 1 a 18:


Código PHP:
Ver original
  1. case 'roll':
  2.         $rolll= mt_rand(1,18);
  3.         mysql_query("INSERT INTO c_mensajes (de,texto,time,color,para) VALUES ('$usuario','/Roll de ".$usuario." ha sacado: ".$rolll." ',".time().",'#FFFFFF','*')",$db);
  4.         echo "  parent.am('Roll de $usuario ha sacado: $rolll');\n";
  5.         break;

esto para que funcione lo tube que poner en un case: ahora fuera del case esta el siguiente codigo:

Código PHP:
Ver original
  1. header('Content-Type: text/html; charset=UTF-8');
  2. // Archivo para enviar los mensajes nuevos a la
  3. // capa de mensajes
  4.  
  5. include 'configuracion.php';
  6. include 'conexion.php';
  7.  
  8. unset($usuario);
  9. $ahora = time();
  10. if(substr($_GET['texto'],0,1) == '/'){
  11.     $comandos = split(' ',substr($_GET['texto'],1,strlen($_GET['texto'])));
  12.     $texto = '';
  13. }
  14. if(isset($_COOKIE["ident"])){
  15.     $sql = "SELECT nombre FROM c_usuarios WHERE cookie = ".$_COOKIE["ident"];
  16.     $result = mysql_query($sql,$db);
  17.     if(mysql_num_rows($result))$usuario = mysql_result($result,0);
  18. }
  19. if(isset($usuario)){
  20.     if(isset($comandos) && ($comandos[0] == 'logout')){
  21.     setcookie ("ident","");
  22.     $sql = "DELETE FROM c_usuarios WHERE nombre = '$usuario'";
  23.     mysql_query($sql,$db);
  24.     for($i=1;$i<count($comandos);$i++)$texto .= $comandos[$i].' ';
  25.     mysql_query("INSERT INTO c_mensajes (de,texto,time,color,para) VALUES ('','/logout $usuario $texto',".time().",'#FFFFFF','*')",$db);
  26.     }
  27. } else {
  28.     if(isset($comandos) && ($comandos[0] == 'login')){
  29.     if(!ereg("^[a-zA-Z0-9_]{4,12}$",$comandos[1])){
  30.         $loginError = 'El nombre de usuario no es válido';
  31.     } else {
  32.         $sql = "SELECT * FROM c_usuarios WHERE nombre LIKE '".$comandos[1]."'";
  33.         $q = mysql_query($sql,$db);
  34.         if(!mysql_num_rows($q)){
  35.         $r1 = rand(100,999);
  36.         $r2 = rand(100,999);
  37.         $random = $r1.$r2;
  38.         setcookie ("ident","$random");
  39.         mysql_query("INSERT INTO c_usuarios (nombre,time,cookie) VALUES ('".$comandos[1]."','".$ahora."',$random)",$db);
  40.         $sql = "INSERT INTO c_mensajes (de,texto,time,color,para) VALUES ('','/login ".$comandos[1]."',$ahora,'#FFFFFF','*')";
  41.         mysql_query($sql,$db);
  42.         } else {
  43.         $loginError = 'El nombre de usuario esta ocupado';
  44.         }
  45.     }
  46.     }
  47. }

hay otro codigo php llamado script que muestra tambien muestramensajes:


Código PHP:
Ver original
  1. if(isset($_COOKIE["ident"])){
  2.   $sql = "SELECT nombre FROM c_usuarios WHERE cookie = ".$_COOKIE["ident"];
  3.   $result = mysql_query($sql,$db);
  4.   if(mysql_num_rows($result))$usuario = mysql_result($result,0);
  5.   if($usuario == ''){
  6.     setcookie ("ident","");
  7.   } else {
  8.     $sql = "UPDATE c_usuarios SET time = $ahora WHERE nombre = '$usuario'";
  9.     mysql_query($sql, $db);
  10.   }
  11. }
  12. ?><html>
  13.   <head>
  14.     <meta HTTP-EQUIV="Pragma" CONTENT="no-cache">
  15.     <script languaje="javascript"><!--
  16.     <?php
  17. if(!isset($_GET['t'])){
  18.   $_GET['t'] = time();
  19. };
  20. if(!isset($_GET['l']))
  21.   $sql="SELECT * FROM c_mensajes WHERE time > ".$_GET['t']." AND ( para = '*' OR para = '$usuario' ) ORDER BY id";
  22. else {
  23.   $last = $_GET['l'];
  24.   $sql="SELECT * FROM c_mensajes WHERE id > ".$_GET['l']." AND ( para = '*' OR para = '$usuario') ORDER BY id";
  25. }
  26. $result=mysql_query($sql, $db);
  27. $haymensaje = 0;
  28. if( mysql_num_rows($result))while($row=mysql_fetch_array($result)){
  29.   if(substr($row['texto'],0,1) == '/'){
  30.     $comandos = split(' ',substr($row['texto'],1,strlen($row['texto'])));
  31.   }
  32.   if($row['id']){
  33.       $last = $row['id'];
  34.       $haymensaje  = 1;
  35.   }
  36.   if(!isset($comandos)){
  37.     $row['texto'] = addslashes ( $row['texto'] );
  38.     $row['texto'] = str_replace (':)','<img src="images/smilies/smile.gif" align="middle">',$row['texto']);
  39.     $row['texto'] = str_replace (':(','<img src="images/smilies/triste.gif" align="middle">',$row['texto']);
  40.     $row['texto'] = str_replace (':O','<img src="images/smilies/sorpresa.gif" align="middle">',$row['texto']);
  41.     $row['texto'] = str_replace (':P','<img src="images/smilies/lengua.gif" align="middle">',$row['texto']);
  42.     $row['texto'] = str_replace (':\\\'(','<img src="images/smilies/llora.gif" align="middle">',$row['texto']);
  43.     $row['texto'] = str_replace (':D','<img src="images/smilies/risa.gif" align="middle">',$row['texto']);
  44.     if($row['para'] != $usuario)echo "  parent.ms('".$row['de']."','".$row['color']."','".$row['texto']."');\n";
  45.     else echo " parent.mp('".$row['de']."','".$row['color']."','".$row['texto']."');\n";
  46.   }
  47.   else {
  48.     switch ($comandos[0]){
  49.       case 'logout':
  50.         $texto = '';
  51.         for($i=2;$i<count($comandos);$i++)$texto .= $comandos[$i].' ';
  52.         echo "  parent.am('".$comandos[1]." acaba de abandonar el chat ( $texto)');\n";
  53.         echo "  u = new Array(";
  54.         $sql="SELECT * FROM c_usuarios ORDER BY nombre";
  55.         $result=mysql_query($sql,$db);
  56.         $temp = 0;
  57.         if(mysql_num_rows($result))while ($row=mysql_fetch_array($result)){
  58.           if($temp++)echo ",";
  59.           echo "'".$row['nombre']."'";
  60.         }
  61.         echo ");\n";
  62.         echo "  parent.ul(u);\n";
  63.         break;
  64.       case 'login':
  65.         if($comandos[1] != $usuario)echo "  parent.am('".$comandos[1]." acaba de entrar en el chat');\n";
  66.         echo "  u = new Array(";
  67.         $sql="SELECT * FROM c_usuarios ORDER BY nombre";
  68.         $result=mysql_query($sql,$db);
  69.         $temp = 0;
  70.         if(mysql_num_rows($result))while ($row=mysql_fetch_array($result)){
  71.           if($temp++)echo ",";
  72.           echo "'".$row['nombre']."'";
  73.         }
  74.         echo ");\n";
  75.         echo "  parent.ul(u);\n";
  76.         break;
  77.     }
  78.   }
  79. }
  80. if($haymensaje)echo "   window.focus();\n";
  81. echo "  window.setTimeout(\"document.location='script.php?t=";
  82. echo $ahora;
  83. if(isset($last))echo '&l='.$last;
  84. echo '\'",'.segundos."000);\n";
  85. ?>
  86.      --></script>
  87.   </head>
  88. </html>
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB
  #7 (permalink)  
Antiguo 13/12/2012, 21:35
 
Fecha de Ingreso: octubre-2011
Ubicación: Isla Tortugas
Mensajes: 7
Antigüedad: 12 años, 6 meses
Puntos: 0
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

No soy experto en PHP, por eso les pido por favor que si pueden subir un vídeo del paso a paso para poder instalar el chat se los agradeseria inmensamente muchachos....
  #8 (permalink)  
Antiguo 13/05/2013, 04:40
Avatar de arcanisgk122  
Fecha de Ingreso: junio-2010
Mensajes: 755
Antigüedad: 13 años, 10 meses
Puntos: 28
Respuesta: problema chat php+mysql agregar comando a PHPWebChat

osea casi no pides nada la instalación es cuestión de copiar y pegar lo que yo quería hacer era mucho mas complejo y complicado lastima que el chat no se le ha dado update al codigo y esta quedandoce resegado...

http://frug.github.io/AJAX-Chat/
__________________
Cooler Master Gladiator 600 - AMD PHENOM II X4 955 @ 3.5GHZ
GA-MA78GM-US2H - Super Talent 800 2GB x 2 Dual, (Unganged)
PSU Cooler Master eXtreme Power Plus 500W - Saphire R7-260OC-2GB

Última edición por arcanisgk122; 13/05/2013 a las 04:47

Etiquetas: chat, comando, php-mysql, usuarios
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




La zona horaria es GMT -6. Ahora son las 08:40.