Foros del Web » Programando para Internet » PHP »

post envios

Estas en el tema de post envios en el foro de PHP en Foros del Web. Como programar el envio de un correo para que se envie en x fecha ?? Por ejemplo seleccionar 15 de mayo 2004 y cuando llegue ...
  #1 (permalink)  
Antiguo 07/04/2004, 02:43
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
post envios

Como programar el envio de un correo para que se envie en x fecha ??

Por ejemplo seleccionar 15 de mayo 2004 y cuando llegue dicha fecha que se envie el mensaje.

(con la hora del servidor)
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #2 (permalink)  
Antiguo 07/04/2004, 05:53
 
Fecha de Ingreso: noviembre-2002
Ubicación: Barcelona - España
Mensajes: 270
Antigüedad: 15 años
Puntos: 0
Si no piensas abrir la página que contenga el script el 15 de mayo, deberas usar un cron
  #3 (permalink)  
Antiguo 07/04/2004, 19:29
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
¿Has visto como esta opcion la usa cualquier script de postales?

A eso a enviar un mail, seguire buscando...
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #4 (permalink)  
Antiguo 08/04/2004, 08:13
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
DJ-Dom

Tienes dos opciones:
1) Confias en que tu sitio es visitado frecuentemente y colocas tu rutina de comparación de fechas en cada ejecución de la página(s) más visitadas de tu sitio .. Así determinas que la fecha actual del servidor es >= a la que se ha de hacer ese proceso ...

2) Configuras un Cron Job (linux) o un "Programador de tareas" (Windows) para que ejecute todos los dias (minimo) esa rutina que va a comparar fecha actual con la fecha que se ha de ejecutar el proceso ...

La rutina de comparación de fechas puedes hacerla ya mismo .. el problema es "cuando" se ha de ejecutar en general tu rutina . .para eso están los dos métodos que plantee .. El 2º es el más optimo y fiable .. en el primero dependes de las visitas de tu sitio además de implementar otras rutinas auxiliares para determinar que tu proceso ya se ejecutó y no se ejecute más veces si se le solitica en esa fecha (aunque hagas dia/ y tiempo exacto al segundo .. si no lo controlas podría darse el caso de dos ejecuciones en ese "segundo")...

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 08/04/2004, 15:26
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Entiendo, pero no pense que ese sitema fuera tan complicado,

Lo de controlarlo o no eso es sencillo, con cambiar un valor de una variable cuando es ejecutado el proceso vasta.

Lo raro es que el proceso dependa de las visitas a la página.


¿Para el segundo caso, como haría dicho Cron Job?

No uso linux en mi pc, pero en el servidor si.
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #6 (permalink)  
Antiguo 08/04/2004, 17:09
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Cita:
Lo raro es que el proceso dependa de las visitas a la página.
No es raro .. simplemente que PHP no puede ejecutar procesos "residentes" que ejecutes y los dejes ahí funcionando (por lo menos en principio y si estamos hablando de ejecutar PHP bajo un servidor HTTP en entorno "web" cliente-servidor). PHP ejecuta las páginas/scripts cuando se le solicitan . por ende hay que "esperar" a una visita de tu página para lanzar el proceso o bien "simular" esa "visita" con un Cron Job de linux o el simil para Windows..

El "Cron Job" no es más que las indicaciones de que se ejecute tal comando en tales intervalos de tiempo.

Si dispones de un servicio de hosting . consulta a tu proveedor o mira en tu panel de control si dispones de la opción de crear Cron Job's (no todos lo permiten) .. si fuera así .. por ejemplo en la mayoría de paneles de control .. el comando a ejecutar (previo o post definido los intervalos a ejecutar ..) sería algo tipo:

Ese comando en linux "GET" lo que hace es llamar a esa página (tu script de proceso) tal cual fuea un "navegador" cualquiera con una persona detras que "digite" ese URL (así por ejemplo veras en las estadísticas de visitas de tu sistio al "cron" como "cliente" ejecutandose bajo un "cliente" nosecuantos especifico o el que "simule").

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #7 (permalink)  
Antiguo 08/04/2004, 23:55
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Vaya información, mi entendimiento sobre esta tarea me parecía mas simple, ya que he visto (por ejemplo) un sistema de postales que se le puede asignar dicha función.

Pero nunca he visto que exijan tal crob job para funcionar.

Ya seguiré buscando...


Gracias Cluster.
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #8 (permalink)  
Antiguo 10/04/2004, 04:04
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Cron Job o inetervención humana?

Me decido por la intervención humana, ya que creo requerira "menos requisitos".

Pero para mi tranquilidad con la primera visita de cualquier usuario dicho proceso podria llevarse a cabo el dia especificado.


Ahora el problema es de otro post, pero lo posteo aquí mismo a ver si llega la solución.

Me he decidido por usar este metodo que me puse a pensar en unnrato.

Se trata de comparar que dos fechas se iguales o mayor o menor una que la otra.

Bueno para explicarme mejor el proceso sería así:

Cuando se seleccione una fecha en el formulario para guardarse en una BD, la cual irá con un tipo de formato (el cual no he decidido).
No importa, supongamos que sea 04/06/2004

El siguiente paso sería insertar la fecha actual (del servidor) en
Otro campo de una tabla de la misma BD. Supongamos que dicha fecha de servidor sea 04/04/2004.

La ejecucion el script debe radicar en comparar dichas fechas.
Comparar si la fecha seleccionada 04/06/2004
es IGUAL o Menor que la del servidor.

Creo que esta sería una buena solución.

Mi pregunta es (despues de tanto blabla).

¿Como comparo dos fechas en cualquier formato (tomando en cuenta que ambas tengan el mismo), para saber si una es menor o igual que la otra o viceversa.?
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
  #9 (permalink)  
Antiguo 12/04/2004, 08:19
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Dj-DOM ...

En PHP por lo menos no se puede ejecutar un proceso residente como te mencioné .. Si has visto alguna aplicación así en PHP y no requiere de un crob Job .. lo estará haciendo como te mencioné .. dependiendo de las visitas de cierta página.

Sobre tu última pregunta ...

Las fechas debes trabajarlas en tu BD en formato ANSI standard .. es decir AAAA-DD-MM HH:MM:SS esto implica un campo DATETIME en tu BD .. luego si quieres le puedes dar formato a la salida a esa fecha con la función de Mysql DATE_FORMAT .. también podrías guardar tus fechas en formato TIMESTAM de UNIX desde PHP, esto implicaría usar un campo tipo INT en tu BD y operar esas fechas con las funciones de Mysql tipo "UNIX_TIMESTAMP" o desde PHP ...

Es importante que uses fechas standard y más si vas a trabajar tus fechas en una BD la cual leeras para efectuar consultas SQL y determinar rangos de fechas . .o "si es menor/mayor que .." Te facilitará la taréa pues las BD (Msyql o la que sea) disponen en su lenguaje SQL de funciones para trabajar con fechas.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #10 (permalink)  
Antiguo 12/04/2004, 20:15
 
Fecha de Ingreso: noviembre-2003
Mensajes: 114
Antigüedad: 14 años, 1 mes
Puntos: 0
Si creo tienes razon, según he investigado las mayorias de procesos que realizan esta función lo hacen con TIMESTAMP DE UNIX, ya vere.
__________________
Soporte y Creaciones PHP-Nuke:
NukeProjects.Net

if($Necesitas=="Ayuda"){
echo "No dudes en pedirla";
}
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 15:23.