[Resuelto] Notificaciones en php

Iniciado por ElInquisidor, 28 Febrero 2015, 20:44 PM

0 Miembros y 1 Visitante están viendo este tema.

ElInquisidor

Hola a todos...
Tengo un inconveniente...
Tengo dos tipos de usuarios....
Uno que es el cliente y el otro el administrador....
Lo que quiero hacer es lo siguiente.
*Cuando el cliente llene un formulario y lo envie, el administrador recibira una notificación alusiva a que el cliente envió una "solicitud".

La verdad no tengo idea de como hacerlo... si alguien tiene un tutorial o un ejemplo o me puede decir como hacerlo sería de mucha ayuda...

Estaba viendo algo de httpush php pero la verdad no logre que funcionara

Saludos  :P

engel lex

puedes tener un php que revise las solicitudes y con ajax retornar los datos a cada x segundos
El problema con la sociedad actualmente radica en que todos creen que tienen el derecho de tener una opinión, y que esa opinión sea validada por todos, cuando lo correcto es que todos tengan derecho a una opinión, siempre y cuando esa opinión pueda ser ignorada, cuestionada, e incluso ser sujeta a burla, particularmente cuando no tiene sentido alguno.

Usuario Invitado

#2
Puedes implementar el patrón Observer y trabajar con AJAX.
"La vida es muy peligrosa. No por las personas que hacen el mal, si no por las que se sientan a ver lo que pasa." Albert Einstein

EFEX

Si tocas la db podes utilizar triggers.
GITHUB 

ElInquisidor

#4
Sigo sin comprender... Alguien ha hecho algo parecido... Algo como las notificaciones de facebook... pero que se envié la notificación apenas se envié un formulario


Bueno... pues he intentado TODA la mitad del día y no he conseguido algo que en verdad funcione.
El código que he hecho no ha funcionado y la verdad no es merecedero de que ustedes lo vean... No he encontrado algun ejemplo, tutorial o algo por el estilo para poder guiarme...

si alguien tiene este tipo de material respecto para que me sea ayuda para desarollar lo que tengo en mente.

:-\

Zoik

Bueno, deberías hacer una tabla en la base de datos donde se almacenen los formularios que envíen los usuarios normales, y con un PHP que coja esos formularios y se los muestre al administrador en tiempo real junto con AJAX.

Un saludo.

MinusFour

Cita de: ElInquisidor en 28 Febrero 2015, 23:50 PM
Sigo sin comprender... Alguien ha hecho algo parecido... Algo como las notificaciones de facebook... pero que se envié la notificación apenas se envié un formulario


Bueno... pues he intentado TODA la mitad del día y no he conseguido algo que en verdad funcione.
El código que he hecho no ha funcionado y la verdad no es merecedero de que ustedes lo vean... No he encontrado algun ejemplo, tutorial o algo por el estilo para poder guiarme...

si alguien tiene este tipo de material respecto para que me sea ayuda para desarollar lo que tengo en mente.

:-\

¿Quieres usar HTTP para recibir las notificaciones? Puedes simplemente enviar un correo y recibir la notificacion por ahi. Recibir notificaciones atraves de HTTP lo puedes hacer a traves de polling que es lo que te comentan. Por ejemplo puedes hacer una peticion al servidor cada X segundos a un recurso que te diga si hay nueva informacion o no. Basicamente:

Citar
Cliente: Hola servidor, ya tienes informacion?
Servidor: No.
Cliente: Hola servidor, ya tienes informacion?
Servidor: No.
Cliente: Hola servidor, ya tienes informacion?
Servidor: Si, enviaron un formulario de X hace Y tiempo.

Le estas preguntando al servidor constantemente si hay nueva informacion si o no. Algo asi (usa jquery):

Código (javascript) [Seleccionar]

setInterval(function() {
  $.get({
    url: 'pagina.php',
    dataType: 'text',
    success: function(data){
      if(data != 'No'){
        mostrarNotificacion(data);
      }
    }
  });
}, 5000);


mostrarNotificacion() es simplemente una funcion de javascript para el navegador por ejemplo:

Código (javascript) [Seleccionar]

function mostrarNotificacion(data) {
  alert("Hey recibiste informacion!: " + data);
}


Y tu codigo de servidor se ve asi:

Código (php) [Seleccionar]

<?php
$data 
hayInformacion();
if(
$data){
  echo 
'No';
} else {
  echo 
$data;
}


Tu funcion de hayInformacion puede ser tan sencilla como revisar si existe un archivo:

Código (php) [Seleccionar]

function hayInformacion() {
if(file_exists('informacion.txt')){
     //Carga informacion del archivo
     $data = file_get_contents('informacion.txt');
     //Borra archivo:
     unlink('informacion.txt');
  } else {
    return false;
  }
}


Y ahora solo tienes que decirle al script que procesa tus formularios que agregue informacion al archivo (o que lo cree si existe).

Código (php) [Seleccionar]

<?php
//Nuevo formulario:
file_put_contents('informacion.txt'$informacionANotificarFILE_APPEND);
?>


Este es un ejemplo muy sencillo de como hacer polling. Realmente no es muy eficiente y esto simplemente notifica el mensaje una vez a una sola persona, despues borra el mensaje. Por lo que si tienes a varios usuarios corriendo el mismo script solo algunos reciben la notificacion.

ElInquisidor

MinusFour Gracias, lo intentare haber si es posible... si no puedo me ire por el lado del correo que es mucho mas facil y no lo habia pensado antes :D pero con tu ayuda ya tengo un punto de donde partir...