Foros del Web » Programando para Internet » PHP »

Mandar mails por tiempo inactivo.

Estas en el tema de Mandar mails por tiempo inactivo. en el foro de PHP en Foros del Web. Buenas de nuevo! os cuento mas o menos lo que intento hacer... cuando un usuario se logea en la web hace un update a la ...
  #1 (permalink)  
Antiguo 04/11/2013, 13:57
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 7 años
Puntos: 4
Mandar mails por tiempo inactivo.

Buenas de nuevo! os cuento mas o menos lo que intento hacer... cuando un usuario se logea en la web hace un update a la tabla users en la columna last_online, lo que intento hacer es una cosa parecida a las redes sociales, cuando llevas cierto tiempo si conectarte en la pagina te mandan un email como que llevas tiempo sin pasar...

Código PHP:
Ver original
  1. <?php
  2.     $inactivo = 172800; //Hace referencia a 2 dias sin actividad 1 dia = 86400
  3.     $_SESSION['tiempo'] = time();
  4.  
  5.     if(isset($_SESSION['tiempo']) ) {
  6.     $tiempo_session = time() - $_SESSION['tiempo'];
  7.         if($tiempo_session > $inactivo)
  8.         {
  9.             Mandamos el email
  10.         }
  11.     }
  12.  
  13. ?>

La duda que tengo es que no se como hacer para comparar el tiempo guardado "last_online" con esto quiero decir a que sea automático
  #2 (permalink)  
Antiguo 04/11/2013, 16:23
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 7 años
Puntos: 84
Respuesta: Mandar mails por tiempo inactivo.

Que yo sepa PHP no tiene auto-ejecución.

Para ejecutar un programa PHP de forma automática necesitas hacerlo con Cron ( y su configurable Crontab), que es un programa que se ejecuta cada x años, días, horas, minutos y segundos, según le configures y lo que hace es ejecutar el archivo PHP indicando la ruta de este. Es relativamente sencillo de utilizar y en la red hay varios tutoriales para hacerlo. Corre bajo Linux. Un tutorial por ejemplo.

Saludos.
__________________
Ayúdame a hacerlo por mi mismo.
  #3 (permalink)  
Antiguo 04/11/2013, 16:32
 
Fecha de Ingreso: diciembre-2012
Ubicación: Murcia
Mensajes: 329
Antigüedad: 7 años
Puntos: 4
Respuesta: Mandar mails por tiempo inactivo.

Si ya vi que se hace con cron...

Pero entonces seria una consulta normal a todos los usuarios verdad? SELECT * FROM Users y con while saco la info y la comparo y si es mayor a 2 dias manda el email a dicho usuario?
  #4 (permalink)  
Antiguo 04/11/2013, 17:28
Avatar de guardarmicorreo  
Fecha de Ingreso: noviembre-2012
Ubicación: Córdoba
Mensajes: 1.153
Antigüedad: 7 años
Puntos: 84
Respuesta: Mandar mails por tiempo inactivo.

Cita:
Iniciado por Jose789 Ver Mensaje
Si ya vi que se hace con cron...

Pero entonces seria una consulta normal a todos los usuarios verdad? SELECT * FROM Users y con while saco la info y la comparo y si es mayor a 2 dias manda el email a dicho usuario?
Si tienes una duda que sea concreta y en el foro adecuado.

Por ejemplo, si tienes una duda sobre cómo plantear la lógica de un programa PHP, entonces pregunta sobre la lógica de un programa PHP en el foro de PHP.

Si tienes dudas sobre una consulta SQL pregunta en el foro MYSQL.

Si tienes dudas sobre Cron, entonces pregunta sobre Cron en Unix/Linux.

Pero plantear una duda tan genérica puede llevar a la duda, tanto del que lee para saber sobre el asunto como quien intenta ayudarte.

Preguntastes cómo hacer una auto-ejecución de PHP, yo te di la respuesta.

Si me dices que ya sabías que se hacía con Cron, lo mejor es que lo hubieras dicho en el propio planteamiento de tu duda.

Ahora preguntas sobre MYSQL o SQL, entonces lo indicado es que te dirijas a dicho foro, pero no mezcles temas.

saludos :D
__________________
Ayúdame a hacerlo por mi mismo.

Etiquetas: mails, tabla, tiempo
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 18:17.