Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: josco en 8 Septiembre 2012, 00:59 am



Título: mensajes en una web
Publicado por: josco en 8 Septiembre 2012, 00:59 am
que tal me surgio una duda, como seria posible hacer esto.

tengo una web que maneja usuarios y los usuarios se pueden mandar mensajes entre si, los mensajes los guardo en una base de datos, el problema es que hay que actualizar la pagina para ver si hay nuevos mensajes.

tengo en la base de datos una tabla asi

id_mensaje
id_usuario_remitente
id_usuario_destinatario
str_mensaje
int_estado  (para ver si ya fue leido, o es nuevo)


entonces sera posible que si un usuario da de alta un mensaje en la base de datos para otro usuario, la pagina web lo detecte y avice ya sea con un alert algun sonido o algo?


Título: Re: mensajes en una web
Publicado por: WarGhost en 8 Septiembre 2012, 01:06 am
Lo que puedes hacer es una comprobación cada X segundos con AJAX y compruebe si hay nuevos mensajes, lo ideal para esto es que hagas un api y la respuesta sea en JSON.

Aquí tienes un mensaje sobre la tecnología AJAX:
http://foro.elhacker.net/desarrollo_web/ajax_asynchronous_javascript_and_xml-t90135.0.html

Salu2


Título: Re: mensajes en una web
Publicado por: tremolero en 8 Septiembre 2012, 03:19 am
Si, yo tambien pienso que lo mejor sera el tipico timer, que actualiza cada x tiempo.

Aunque despues de leer tu sugerencia, nose como de loca sera la idea que se me ha ocurrido.... pero.....

Tal vez puedas de alguna forma, cuando alguien envia un mensaje, el servidor compruebe si el receptor esta conectado y de alguna forma que se le refresque la pagina solamente a ese usuario.

Lo poco que se me ha ocurrido ya que tampoco me puesto a pensar mucho es....
que se supone que tu por el momento lo que tienes es que solo ves si tienes mensajes si actualizas la pagina, a lo mejor, es mas optimo, que en vez de que actualices constantemente la pagina, lea una variable cada x tiempo, y si esa variable cambia se actualice.

xDDD nose si esto servira de algo, o que, si sera una buena idea o un gran error, pero si alguien le apetece y me lo contesta, se lo agradecere....

Saludos....