Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: jhonatanAsm en 2 Enero 2012, 01:16 am



Título: recargar pagina, y el cambio producido se note en otra pc al mismo tiempo
Publicado por: jhonatanAsm en 2 Enero 2012, 01:16 am
hola, intento ingresar un comentario, y una vez que el comentario es almacenado en la BD , este comentario aparezca visible en todas las computadoras que esten viendo la pagina en ese momento. lo que he intentado es lo sgte:

1:<meta content=1;index1.php" http-equiv="REFRESH"> </meta>// al momento de recargar me pone la pagina en blanco por unos milisegundos, pero no es lo que busco.

2:$.post('verificar.php',function(dato){

      if(dato=='ok')
      {
                $.post('comentar.php',{comentario:comentario,tiempo:tiempo});
         
                $.post('ver_comentario.php',function(coment1){

         $('#comentario').text('comentario 3:'+coment1);
         
         });//guarda los datos en la BD, luego una consulta obtiene el ultimo comentario almacenado y lo muestra en el div con id="comentario", pero no modifica en ese momento una pagina que esté abierta en otra pc.

-lo que busco es algo como el sistema de msn, donde vemos si un usuario se ha conectado y desconectado en tiempo real.

espero me puedan ayudar.salu2.


Título: Re: recargar pagina, y el cambio producido se note en otra pc al mismo tiempo
Publicado por: #!drvy en 2 Enero 2012, 03:55 am
Usa AJAX para obtener los datos cada cierto tiempo. Lo que pasa es que te tendrás que inventar alguna especie de cache para no sobre cargar la base de datos en caso de que tengas muchas visitas simultaneas.


Saludos


Título: Re: recargar pagina, y el cambio producido se note en otra pc al mismo tiempo
Publicado por: jhonatanAsm en 2 Enero 2012, 05:09 am
nombre de la funcion o funciones que podria utilizar, algun ejemplo si pudieras please!.salu2.


Título: Re: recargar pagina, y el cambio producido se note en otra pc al mismo tiempo
Publicado por: #!drvy en 2 Enero 2012, 05:41 am
Veo que utilizas jquery así que no es muy difícil...

La idea es meter un intervalo de tiempo + una funcion para que cargue los datos.

Por ejemplo

Código
  1. function actualizarDatos(){
  2.    $('#div_datos').load('index1.php');
  3. }
  4. setInterval("actualizarDatos()", 10000 );
  5.  

Esto hará que cada 10 segundos (10000 mili segundos) se llame a la función actualizarDatos que a su vez cargara en un div con id "div_datos" el contenido de index1.php.


Saludos


Título: Re: recargar pagina, y el cambio producido se note en otra pc al mismo tiempo
Publicado por: jhonatanAsm en 2 Enero 2012, 23:11 pm
esa funcion la ejecuto asi :setInterval("actualizarComentario()",10);
y me anda bien, pero por momentos en el div donde aparecen los ultimos comentarios, debes en cuando tira el sgte error:


comentario 1:<br /> <font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysqli_connect() [<a href='function.mysqli-connect'>function.mysqli-connect</a>]: [2002] No se puede ejecutar la operaci?n en un socket ya que el sistema no tiene suficiente espacio de b?fer o porque una cola estaba l (trying to connect via tcp://localhost:3306) in C:\wamp\www\mi pagina web\ver_comentario1.php on line <i>8</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>372200</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>372632</td><td bgcolor='#eeeeec'><a href='http://www.php.net/mysqli_connect' target='_new'>mysqli_connect</a> ( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>8</td></tr> </table></font> <br /> <font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysqli_connect() [<a href='function.mysqli-connect'>function.mysqli-connect</a>]: (HY000/2002): No se puede ejecutar la operaci?n en un socket ya que el sistema no tiene suficiente espacio de b?fer o porque una cola estaba llena.
 in C:\wamp\www\mi pagina web\ver_comentario1.php on line <i>8</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>372200</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>372632</td><td bgcolor='#eeeeec'><a href='http://www.php.net/mysqli_connect' target='_new'>mysqli_connect</a> ( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>8</td></tr> </table></font> <br /> <font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in C:\wamp\www\mi pagina web\ver_comentario1.php on line <i>12</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>372200</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0385</td><td bgcolor='#eeeeec' align='right'>373368</td><td bgcolor='#eeeeec'><a href='http://www.php.net/mysqli_query' target='_new'>mysqli_query</a> ( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>12</td></tr> </table></font> <br /> <font size='1'><table class='xdebug-error' dir='ltr' border='1' cellspacing='0' cellpadding='1'> <tr><th align='left' bgcolor='#f57900' colspan="5"><span style='background-color: #cc0000; color: #fce94f; font-size: x-large;'>( ! )</span> Warning: mysqli_fetch_array() expects parameter 1 to be mysqli_result, null given in C:\wamp\www\mi pagina web\ver_comentario1.php on line <i>16</i></th></tr> <tr><th align='left' bgcolor='#e9b96e' colspan='5'>Call Stack</th></tr> <tr><th align='center' bgcolor='#eeeeec'>#</th><th align='left' bgcolor='#eeeeec'>Time</th><th align='left' bgcolor='#eeeeec'>Memory</th><th align='left' bgcolor='#eeeeec'>Function</th><th align='left' bgcolor='#eeeeec'>Location</th></tr> <tr><td bgcolor='#eeeeec' align='center'>1</td><td bgcolor='#eeeeec' align='center'>0.0004</td><td bgcolor='#eeeeec' align='right'>372200</td><td bgcolor='#eeeeec'>{main}( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>0</td></tr> <tr><td bgcolor='#eeeeec' align='center'>2</td><td bgcolor='#eeeeec' align='center'>0.0387</td><td bgcolor='#eeeeec' align='right'>373368</td><td bgcolor='#eeeeec'><a href='http://www.php.net/mysqli_fetch_array' target='_new'>mysqli_fetch_array</a> ( )</td><td title='C:\wamp\www\mi pagina web\ver_comentario1.php' bgcolor='#eeeeec'>..\ver_comentario1.php<b>:</b>16</td></tr> </table></font>


aparentemente debo configurar mi servidor para ampliar la capacidad de memoria, o algo asi. que puedo hacer?gracias por la ayuda.salu2