Foros del Web » Programando para Internet » PHP »

No envia el email por fecha

Estas en el tema de No envia el email por fecha en el foro de PHP en Foros del Web. Cita: Iniciado por rbczgz Hola pilucho, Esto te lo dice porque estás intentando colocar la fecha de hoy, seguro que si intentas con la fecha ...

  #31 (permalink)  
Antiguo 30/10/2015, 10:40
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por rbczgz Ver Mensaje
Hola pilucho,

Esto te lo dice porque estás intentando colocar la fecha de hoy, seguro que si intentas con la fecha de mañana, no te da ese mensaje.



El resto, como ya te está ayudando mortiprogramador, lo dejo en sus manos.

hola rbczgz si tambien puse la fecha de mañana y aun asi aparece ese aviso mas arriba tambien lo mensione, igual muchas gracias, pues si esperare a que se resuelva el tema
  #32 (permalink)  
Antiguo 30/10/2015, 12:04
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Saludo
A ver.

En reminder_setup

Antes se recibía la fecha de este modo
Código PHP:
$reminder_date $_POST['reminder_year'].$_POST['reminder_month'].$_POST['reminder_date']; 
Luego, lo modificaste así
Código PHP:
$reminder_date $_POST['reminder_date']; 
Y sí revisas, en una respuesta anterior mencioné
lo que espera php que le llegue para validarlo en el if.

Así que eso es lo que hay que revisar, como se le está enviando el dato.
(Me refiero al formato)

En cuanto a reminder_add

Yo puse en comentario este if
Código PHP:
//if($currentTime < $startTime || $currentTime > $endTime)
//{
    //print('Not sending an email after hours.');
    //die();
//} 
Espero con eso ahora sí funcione el asunto.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #33 (permalink)  
Antiguo 30/10/2015, 13:37
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por mortiprogramador Ver Mensaje
Saludo
A ver.

En reminder_setup

Antes se recibía la fecha de este modo
Código PHP:
$reminder_date $_POST['reminder_year'].$_POST['reminder_month'].$_POST['reminder_date']; 
Luego, lo modificaste así
Código PHP:
$reminder_date $_POST['reminder_date']; 
Y sí revisas, en una respuesta anterior mencioné
lo que espera php que le llegue para validarlo en el if.

Así que eso es lo que hay que revisar, como se le está enviando el dato.
(Me refiero al formato)

En cuanto a reminder_add

Yo puse en comentario este if
Código PHP:
//if($currentTime < $startTime || $currentTime > $endTime)
//{
    //print('Not sending an email after hours.');
    //die();
//} 
Espero con eso ahora sí funcione el asunto.
la verdad no funciona pero en que tienes subido si funciona eso es raro quiza ahi si le has corregido muchas cosas y te funcione pero el que te pase y pegue aqui el codigo no funciona es mas te pase varios codigos en una de esas quiza estes confundido cual es el que deba corregir de partida el codigo reminder_add no hay nin if currentime o startime muy raro ahora si no puedes pegar el codigo corregido pues comprendere pero al menos dilo para ver otra solucion.
  #34 (permalink)  
Antiguo 30/10/2015, 13:46
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Codigo reminder_add codigo que dices que hay IF y aqui no hay eso, y segun el for reminder_add
este mensaje de asunto deberia llegar ""Reminder System y no llega esto si no el otro codigo
Código PHP:
<?php 
/* if($currentTime < $startTime || $currentTime > $endTime)
{
    print('Not sending an email after hours.');
    die();
}*/
?>
Código PHP:
<?php  
include('database.inc.php'); // Our database connectivity file  
// Values you need set  
$number_of_days_before 1;  
$email "[email protected]"// Aqui el email  
$reminder_details "";  
$todays_date date"Ymd" );  
$year substr($todays_date04);  
$month substr($todays_date42);  
$date substr($todays_date62);  
$trigger_date date("Ymd"mktime (0,0,0,$month,$date-$number_of_days_before,$year));  
$result mysql_query"SELECT * FROM reminder_events WHERE reminder_date <= $trigger_date ORDER BY reminder_date ASC" );  
$nr mysql_num_rows$result );  
while( 
$row mysql_fetch_array$result ) )  
{  
$year substr($row["reminder_date"], 04);  
$month substr($row["reminder_date"], 42);  
$date substr($row["reminder_date"], 62);  
$reminder_date date("M j, Y"mktime (0,0,0,$month,$date,$year));  
$reminder_details .= "Event: ".$row["reminder_name"]."\n";  
$reminder_details .= "Date: ".$reminder_date."\n";  
$reminder_details .= $row["reminder_desc"]."\n\n";  
}  
mysql_free_result$result );  
if( !empty( 
$nr ) )  
{  
// Send out Reminder mail  
$mailheader "From: Reminder System <$email>\nX-Mailer: Reminder\nContent-Type: text/plain";  
//mail("$email","Reminder","$reminder_details","$mailheader"); 
echo 'la respuesta de mail es '.mail("$email","Reminder","$reminder_details","$mailheader");  
// Delete the sent reminders  
mysql_query("DELETE FROM reminder_events WHERE reminder_date <= $trigger_date" );  
}  
?>


Codigo 2 que envia segun lo que comentas, y el mensaje que llega es de este codigo
supongo que esto funciona pero a mi no,
Código PHP:
<?php
// Set this to your timezone
date_default_timezone_set('America/New_York');
// Start at 8:00 AM (24-hour time)
$startTime mktime(800);
// End at 5:00 PM (24-hour time)
$endTime mktime(1600);
$currentTime time();
// Do not send the email if it is outside of the allowed hours
if($currentTime $startTime || $currentTime $endTime)
{
    print(
'Not sending an email after hours.');
    die();
}
// Get the current day of the week as an index (0=Sunday, 6=Saturday)
$dayOfWeek date('w');
// Do not send the email on weekends
if($dayOfWeek == || $dayOfWeek == 6)
{
    print(
'Not sending an email on the weekends.');
    die();
}
// Info of person to receive the tests
define('TO_EMAIL',        '[email protected]');
define('TO_NAME',        'John Doe');
// Info of person sending the tests
define('FROM_EMAIL',    '[email protected]');
define('FROM_NAME',    'Email Tester');
// Example: 8:00 am on 1 Nov 2010
$subject 'Test: ' date('g:i a \o\n j M Y');
$message 'This email was automatically generated. Please send an email to [email protected] if you would like to disable these automated tests.';
$result mail(TO_NAME ' <' TO_EMAIL '>'$subject$message'From: ' FROM_NAME ' <' FROM_EMAIL '>');
var_dump($result);
?>
  #35 (permalink)  
Antiguo 30/10/2015, 14:51
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Cita:
Iniciado por pilucho Ver Mensaje
Codigo reminder_add codigo que dices que hay IF y aqui no hay eso, y segun el for reminder_add
este mensaje de asunto deberia llegar ""Reminder System y no llega esto si no el otro codigo
Código PHP:
<?php 
/* if($currentTime < $startTime || $currentTime > $endTime)
{
    print('Not sending an email after hours.');
    die();
}*/
?>
Código PHP:
<?php  
include('database.inc.php'); // Our database connectivity file  
// Values you need set  
$number_of_days_before 1;  
$email "[email protected]"// Aqui el email  
$reminder_details "";  
$todays_date date"Ymd" );  
$year substr($todays_date04);  
$month substr($todays_date42);  
$date substr($todays_date62);  
$trigger_date date("Ymd"mktime (0,0,0,$month,$date-$number_of_days_before,$year));  
$result mysql_query"SELECT * FROM reminder_events WHERE reminder_date <= $trigger_date ORDER BY reminder_date ASC" );  
$nr mysql_num_rows$result );  
while( 
$row mysql_fetch_array$result ) )  
{  
$year substr($row["reminder_date"], 04);  
$month substr($row["reminder_date"], 42);  
$date substr($row["reminder_date"], 62);  
$reminder_date date("M j, Y"mktime (0,0,0,$month,$date,$year));  
$reminder_details .= "Event: ".$row["reminder_name"]."\n";  
$reminder_details .= "Date: ".$reminder_date."\n";  
$reminder_details .= $row["reminder_desc"]."\n\n";  
}  
mysql_free_result$result );  
if( !empty( 
$nr ) )  
{  
// Send out Reminder mail  
$mailheader "From: Reminder System <$email>\nX-Mailer: Reminder\nContent-Type: text/plain";  
//mail("$email","Reminder","$reminder_details","$mailheader"); 
echo 'la respuesta de mail es '.mail("$email","Reminder","$reminder_details","$mailheader");  
// Delete the sent reminders  
mysql_query("DELETE FROM reminder_events WHERE reminder_date <= $trigger_date" );  
}  
?>
Sí se revisa en ESTE post, existía.


Codigo 2 que envia segun lo que comentas, y el mensaje que llega es de este codigo
supongo que esto funciona pero a mi no,
Código PHP:
<?php
// Set this to your timezone
date_default_timezone_set('America/New_York');
// Start at 8:00 AM (24-hour time)
$startTime mktime(800);
// End at 5:00 PM (24-hour time)
$endTime mktime(1600);
$currentTime time();
// Do not send the email if it is outside of the allowed hours
if($currentTime $startTime || $currentTime $endTime)
{
    print(
'Not sending an email after hours.');
    die();
}
// Get the current day of the week as an index (0=Sunday, 6=Saturday)
$dayOfWeek date('w');
// Do not send the email on weekends
if($dayOfWeek == || $dayOfWeek == 6)
{
    print(
'Not sending an email on the weekends.');
    die();
}
// Info of person to receive the tests
define('TO_EMAIL',        '[email protected]');
define('TO_NAME',        'John Doe');
// Info of person sending the tests
define('FROM_EMAIL',    '[email protected]');
define('FROM_NAME',    'Email Tester');
// Example: 8:00 am on 1 Nov 2010
$subject 'Test: ' date('g:i a \o\n j M Y');
$message 'This email was automatically generated. Please send an email to [email protected] if you would like to disable these automated tests.';
$result mail(TO_NAME ' <' TO_EMAIL '>'$subject$message'From: ' FROM_NAME ' <' FROM_EMAIL '>');
var_dump($result);
?>
Codigo 2
En este script, en comentario el primer if.
Y sí no se hace el cambio en el correo, jamás llegará.

Código PHP:
define('TO_EMAIL''[email protected]'); //aquí se debe dejar el correo nuevo 
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #36 (permalink)  
Antiguo 30/10/2015, 15:18
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por mortiprogramador Ver Mensaje
Codigo 2
En este script, en comentario el primer if.
Y sí no se hace el cambio en el correo, jamás llegará.

Código PHP:
define('TO_EMAIL''[email protected]'); //aquí se debe dejar el correo nuevo 

lo del IF ya busque como solucionarlo en vista que ... (mucho texto )

y el codigo 2 es obvio que se tiene que cambiar el email para que funcione

lo malo al haber corregido y eliminado el IF pues solo envia como cualquier correo simple y no valida la hora que esta asignado, en pocas palabras es como un formulario de email simple, donde esta el chiste de que funcione con email por fecha como titulo del post? si ya no se valida la hora no hay sentido creo yo


define('TO_EMAIL', '[email protected]'); //aquí se debe dejar el correo nuevo

Creo que ahora la mayoria de moderadores han cambiado mucho ahora solo escriben mas texto y no ejemplos de solucion y su comunicacion es mas teorico que practicos ejemplos, su expresion es mas ve a esta pagina y lee, o sea usar google? se supone que es un foro, de ayuda y orientacion, pero ahora es mas texto?? por no decir blabla? no todos poseemos el conocimiento nato de una buena programacion quiza muchos son autodidactas o aprendiz etc o ni a eso pero tienen la fuerza de aprender palabras nuevas con amabilidad o ejemplos¨.

por otro lado agradezco mucho tu gran ayuda mortiprogramador, si que eres valiente en apoyar, aun que no siempre se soluciona todo, quiza algo pero no todo, pero exite la guia donde uno puede encaminarse.
  #37 (permalink)  
Antiguo 30/10/2015, 15:40
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: No envia el email por fecha

Hola pilucho,

Yo no soy moderador, soy un usuario más, como tú, pero creo que las personas que ayudan aquí, tanto moderadores como usuarios, colaboradores, etc. lo hacen con su mejor intención, además, yo creo que es mejor "enseñar a pescar que dar el pescado", de esta forma, lo que se aprende y practica, es más difícil que se olvide, porque además se razona, por eso es que creo que en vez de ejemplos (que mortiprogramador te ha dado muchos) te explican cómo hacer las cosas, para que aprendamos los por qués y los cómos y de esa forma podamos también ayudar a otros.

No pretendo ofenderte ni defender a nadie, solo expreso mi opinión.
  #38 (permalink)  
Antiguo 30/10/2015, 15:46
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Pues esa es la idea, que se busque la solucíon por cuenta propia,
porque si lo que se busca es otra cosa pues...

En cuanto al IF, es solo cuestión de cambiarlo, yo sugerí inicialmente
cambiar la lógica, pero como no se leyó eso, pues tocó sugerir dejarlo
en comentario, pero obviamente, la gracia es que
se busque como modificarlo para volverlo a habilitar, creo yo.

En cuanto a ejemplos y solución, esta google, o este mismo foro,
o incluso links a las aplicaciones funcionando como las que se facilitan.

Una prueba de eso es que tú mismo encontraste no uno, ni dos,
sino más códigos que funcionaban para lo que se quería.

Este es un foro para explicar, con texto y con código,
incluso con imagenes sí hace falta.

Como bien dices, es un foro de ayuda y orientación,
más acertado no pudo ser el comentario.

Y precisamente, porque no todos tenemos conocimiento de herramientas,
pues nos toca leer para entenderlas y aprender a usarlas,
o pagar en algún sitio para que nos expliquen sobre determinado tema,
o intentar usarlas, y aprender sobre la marcha.

Finalmente, espero que alguno de los scripts funcionen
para lo que se busca.

__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #39 (permalink)  
Antiguo 30/10/2015, 21:36
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por mortiprogramador Ver Mensaje
Pues esa es la idea, que se busque la solucíon por cuenta propia,
porque si lo que se busca es otra cosa pues...

En cuanto al IF, es solo cuestión de cambiarlo, yo sugerí inicialmente
cambiar la lógica, pero como no se leyó eso, pues tocó sugerir dejarlo
en comentario, pero obviamente, la gracia es que
se busque como modificarlo para volverlo a habilitar, creo yo.

En cuanto a ejemplos y solución, esta google, o este mismo foro,
o incluso links a las aplicaciones funcionando como las que se facilitan.

Una prueba de eso es que tú mismo encontraste no uno, ni dos,
sino más códigos que funcionaban para lo que se quería.

Este es un foro para explicar, con texto y con código,
incluso con imagenes sí hace falta.

Como bien dices, es un foro de ayuda y orientación,
más acertado no pudo ser el comentario.

Y precisamente, porque no todos tenemos conocimiento de herramientas,
pues nos toca leer para entenderlas y aprender a usarlas,
o pagar en algún sitio para que nos expliquen sobre determinado tema,
o intentar usarlas, y aprender sobre la marcha.

Finalmente, espero que alguno de los scripts funcionen
para lo que se busca.

me piensas cobrar por la auçyuda en este foro? si es asi esta mi correo en tu scrip de tu blog deja tu paypal o numero de cuenta y te deposito si es el caso, gracias por la ayuda seguire buscando como resolver llevo años y jamas he tenido estas respuestas, quiza los moderadores hayan cambiado las reglas, y despues de uff años vuelvo a entrar solo cuando lo necesito como es en esta oportunidad, estare atento a sus comentarios o email estimado mortiprogramador, muchas gracias
  #40 (permalink)  
Antiguo 30/10/2015, 21:44
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por rbczgz Ver Mensaje
Hola pilucho,

Yo no soy moderador, soy un usuario más, como tú, pero creo que las personas que ayudan aquí, tanto moderadores como usuarios, colaboradores, etc. lo hacen con su mejor intención, además, yo creo que es mejor "enseñar a pescar que dar el pescado", de esta forma, lo que se aprende y practica, es más difícil que se olvide, porque además se razona, por eso es que creo que en vez de ejemplos (que mortiprogramador te ha dado muchos) te explican cómo hacer las cosas, para que aprendamos los por qués y los cómos y de esa forma podamos también ayudar a otros.

No pretendo ofenderte ni defender a nadie, solo expreso mi opinión.
se agradece humildemente tu comentario y agradecido tambien por sus palabras, y disculpen si a mas de uno le cayo agua bendita, o agua salada, no fue la intencion, pero busco ejemplo de ayuda si dispongo de tiempo quiza como muchos estan por aqui quiza tal vez me pondria a leer todo el año y de paso leerme un libro de chiste para ser mas agraciado con mis palabras el punto era ejemplos o corregir el codigo y enteder por que era el error y no estudiar todo el codigo, que quiza no lo entienda, aunque el scipt solo hace la funcion de enviar email, como un simple formulario y no como realmente deberia funcionar

y mil gracias rbczgz y disculpe si incomode a mas de uno
  #41 (permalink)  
Antiguo 31/10/2015, 02:31
 
Fecha de Ingreso: noviembre-2003
Ubicación: Zaragoza, España
Mensajes: 1.257
Antigüedad: 21 años
Puntos: 154
Respuesta: No envia el email por fecha

Cita:
Iniciado por pilucho Ver Mensaje
y mil gracias rbczgz y disculpe si incomode a mas de uno
Hola pilucho,

No hay de qué, por supuesto, pero, por lo menos a mi, no me has incomodado, solo intentaba explicar el por qué (según mi entender o mi opinión) de las respuestas de mortiprogramador (o las mías, o las de cualquiera, claro).

Yo creo que según te lo ha explicado mortiprogramador, con los ejemplos que te ha puesto y todo, deberías tenerlo resuelto.

En fin, según tu última duda, el problema es en el if que permite enviar el e-mail según la fecha, creo, sin estar muy seguro porque yo sí que no tengo tiempo para estudiar todo el código de ambos scripts como ha hecho mortiprogramador, la solución puede estar en algo así:

Código PHP:
Ver original
  1. <?php
  2. // Set this to your timezone
  3. date_default_timezone_set('America/New_York');
  4. // Start at 8:00 AM (24-hour time)
  5. $startTime = mktime(8, 0, 0);
  6. // End at 5:00 PM (24-hour time)
  7. $endTime = mktime(16, 0, 0);
  8. $currentTime = time();
  9. // Do not send the email if it is outside of the allowed hours
  10. if($currentTime < $startTime || $currentTime > $endTime)
  11. //Si no lo entiendo mal esto es para que se envíen los e-mail solo de 8:00 a 17:00
  12. //Supongo que será tan sencillo como cambiar las variables anteriores ($startTime = mktime(8, 0, 0); y $endTime = mktime(23, 0, 0);)
  13. //Supongo que de esta forma, enviará a cualquier hora.
  14. {
  15.     print('Not sending an email after hours.');
  16.     die();
  17. }

Yo no puedo hacer más por falta de tiempo, tengo dos mellizos preciosos de 16 meses que reclaman mi atención
  #42 (permalink)  
Antiguo 31/10/2015, 05:29
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Cita:
Iniciado por pilucho Ver Mensaje
me piensas cobrar por la auçyuda en este foro? si es asi esta mi correo en tu scrip de tu blog deja tu paypal o numero de cuenta y te deposito si es el caso, gracias por la ayuda seguire buscando como resolver llevo años y jamas he tenido estas respuestas, quiza los moderadores hayan cambiado las reglas, y despues de uff años vuelvo a entrar solo cuando lo necesito como es en esta oportunidad, estare atento a sus comentarios o email estimado mortiprogramador, muchas gracias
Pues no sería mala idea cobrar por todo el soporte dado,
pero no tengo esa intención, la idea era que el aprendizaje quedara...

Sugiero que a la próxima simplemente se informe en el tema
que se necesita un código funcional, y que no se tiene tiempo
para detallar el funcionamiento, con eso ambas partes van a la fija.

Finalmente, dejo esta solución.

Código SQL:
Ver original
  1. CREATE TABLE reminder_events (
  2. reminder_id BIGINT(20) NOT NULL AUTO_INCREMENT,
  3. reminder_name VARCHAR(255) NOT NULL DEFAULT '',
  4. reminder_desc text,
  5. reminder_date VARCHAR(8) NOT NULL DEFAULT '0',
  6. PRIMARY KEY (reminder_id),
  7. KEY reminder_id (reminder_id)
  8. );

database.inc.php
Código PHP:
Ver original
  1. <?php
  2. $mysql_link = mysql_connect("servidor", "usuario", "password");
  3. mysql_select_db("basededatos") or die("No se pudo seleccionar la base de datos");
  4. ?>

reminder_add.php
Código PHP:
Ver original
  1. <?php
  2. include('database.inc.php'); // Our database connectivity file
  3. if(empty($_POST))
  4. {
  5. ?>
  6. <html>
  7. <head><title>Agregar Recordatorio</title></head>
  8. <body>
  9. <form name="setup_reminder" action="reminder_add.php" method="post">
  10. <table border='0' align='center'>
  11. <tr>
  12. <td>Recordatorio:</td>
  13. <td>
  14. <input name="reminder_name" type="text" maxlength="255" />
  15. </td>
  16. </tr>
  17. <tr>
  18. <td>Detalle</td>
  19. <td>
  20. <textarea name="reminder_desc" rows="5" /></textarea>
  21. </td>
  22. </tr>
  23. <tr>
  24. <td>Fecha</td>
  25. <td>
  26. <select name="reminder_year">
  27. <?php
  28. $current_year = date("Y");
  29. for($counter=$current_year;$counter<=$current_year+2;$counter++)
  30. {
  31. echo("\n<option>$counter</option>");
  32. }
  33. ?>
  34. </select>
  35. <select name="reminder_month">
  36. <?php
  37. for($counter=1;$counter<=12;$counter++)
  38. {
  39. if($counter < 10)
  40. $prefix = "0";
  41. else
  42. $prefix = "";
  43. echo("\n<option>$prefix$counter</option>");
  44. }
  45. ?>
  46. </select>
  47. <select name="reminder_date">
  48. <?php
  49. for($counter=1;$counter<=31;$counter++)
  50. {
  51. if($counter < 10)
  52. $prefix = "0";
  53. else
  54. $prefix = "";
  55.  
  56. echo("\n<option>$prefix$counter</option>");
  57. }
  58. ?>
  59. </select>
  60. </td>
  61. </tr>
  62. <tr>
  63. <td> </td>
  64. <td>
  65. <input name="step" type="hidden" value="1" />
  66. <input name="submit" type="submit" value="add" />
  67. </td>
  68. </tr>
  69. </table>
  70. </form>
  71. </body>
  72. </html>
  73. <?php
  74. }
  75. else
  76. {
  77. $error_list = "";
  78. $todays_date = date( "Ymd" );
  79. $reminder_date = $_POST['reminder_year'].$_POST['reminder_month'].$_POST['reminder_date'];
  80. if( empty($_POST['reminder_name']) )
  81. $error_list .= "El recordatorio no tiene nombre<br />";
  82. if( !checkdate( $_POST['reminder_month'], $_POST['reminder_date'], $_POST['reminder_year'] ))
  83. $error_list .= "La fecha es incorrecta<br />";
  84. else if( $reminder_date <= $todays_date )
  85. $error_list .= "La fecha no es mayor a hoy<br />";
  86. if( empty( $error_list ) )
  87. {
  88. mysql_query( "INSERT INTO reminder_events(`reminder_name`, `reminder_desc`, `reminder_date`) VALUES('".addslashes($_POST['reminder_name'])."', '".addslashes($_POST['reminder_desc'])."', '".addslashes($reminder_date)."')" );
  89. Header("Refresh: 1;url=reminder_list.php");
  90. echo <<< _HTML_END_
  91. Recordatorio agregado
  92. _HTML_END_;
  93. }
  94. else
  95. {
  96. echo( $error_list );
  97. }
  98. }
  99. ?>

reminder_list.php
Código PHP:
Ver original
  1. <?php
  2. include('database.inc.php'); // Our database connectivity file
  3. if( empty($_GET['reminder_id']) )
  4. {
  5. ?>
  6. <html>
  7. <head><title>Lista de Recordatorios</title></head>
  8. <body>
  9. <table width="90%" border="0" align="center">
  10. <tr>
  11. <td colspan='3'><a href='reminder_add.php'>Agregar nuevo recordatorio</a></td>
  12. </tr>
  13. <?php
  14. $result = mysql_query( "SELECT * FROM reminder_events" );
  15. $nr = mysql_num_rows( $result );
  16. if(empty($nr))
  17. {
  18. echo("
  19. <tr>
  20. <td colspan='3'>No hay recordatorios</td>
  21. </tr>
  22. ");
  23. }
  24. while( $row = mysql_fetch_array( $result ))
  25. {
  26. $reminder_name = $row["reminder_name"];
  27. $reminder_date = substr($row["reminder_date"],0,4).'-'.substr($row["reminder_date"],4,2).'-'.substr($row["reminder_date"],6,2);
  28. $reminder_id = $row["reminder_id"];
  29. echo("
  30. <tr>
  31. <td width='60%'>$reminder_name</td>
  32. <td width='30%'>$reminder_date</td>
  33. <td width='10%'><a href='reminder_list.php?reminder_id=$reminder_id'>Borrar</a></td>
  34. </tr>
  35. ");
  36. }
  37. mysql_free_result( $result );
  38. ?>
  39. </table>
  40. </body>
  41. </html>
  42. <?php
  43. }
  44. else
  45. {
  46. mysql_query( "DELETE FROM reminder_events WHERE reminder_id='".addslashes($_GET['reminder_id'])."'" );
  47. Header("Refresh: 1;url=reminder_list.php");
  48. echo <<< _HTML_END_
  49. Recordatorio borrado
  50. _HTML_END_;
  51. }
  52. ?>

reminder_setup.php
Código PHP:
Ver original
  1. <?php
  2. include('database.inc.php');
  3. $number_of_days_before = 1;
  4. $email = "[email protected]";
  5. $reminder_details = "";
  6. $todays_date = date( "Ymd" );
  7. $year = substr($todays_date, 0, 4);
  8. $month = substr($todays_date, 4, 2);
  9. $date = substr($todays_date, 6, 2);
  10. $trigger_date = date("Ymd", mktime (0,0,0,$month,$date-$number_of_days_before,$year));
  11. $result = mysql_query( "SELECT * FROM reminder_events WHERE reminder_date <= $trigger_date ORDER BY reminder_date ASC" );
  12. $nr = mysql_num_rows( $result );
  13. while( $row = mysql_fetch_array( $result ) )
  14. {
  15. $year = substr($row["reminder_date"], 0, 4);
  16. $month = substr($row["reminder_date"], 4, 2);
  17. $date = substr($row["reminder_date"], 6, 2);
  18. $reminder_date = date("M j, Y", mktime (0,0,0,$month,$date,$year));
  19. $reminder_details .= "Event: ".$row["reminder_name"]."\n";
  20. $reminder_details .= "Date: ".$reminder_date."\n";
  21. $reminder_details .= $row["reminder_desc"]."\n\n";
  22. }
  23. mysql_free_result( $result );
  24. if( !empty( $nr ) )
  25. {
  26. $mailheader = "From: Sistema de Recordatorio <$email>\nX-Mailer: Recordatorio\nContent-Type: text/plain";
  27. mail("$email","Recordatorio","$reminder_details","$mailheader");
  28. mysql_query("DELETE FROM reminder_events WHERE reminder_date <= $trigger_date" );
  29. }
  30. ?>

Esta va sin brujería, en español, y con validaciones adicionales
en algunas secciones, y por supuesto, probada.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #43 (permalink)  
Antiguo 01/11/2015, 18:55
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

hola mortiprogramador
aun no funciona nunca llego el email y aun sigo esperando que llegue ese email,
y eso que seleccione una fecha siguiente y espere al dia siguiente y nada,
pregunta existe o no, si es posible poner un codigo que programe con hora?
la idea era que el script funcione con una hora o fecha programada en este caso el email no llega y ha pasado mas de 24hrs

hagamos la idea que existe un cron job en el hosting que este programado para actualizar el php.

se supone que debe llegar el email, en caso contrario no exista un cron job y el archivo php tenga que ser ejecutado por visitas o manalmente abrirlo la uRL, recien envie, ya que si no se abre la url no hay proceso de envio programado, --- bueno eso es lo que creo si no hay alguien que abra la url pues ya no enviara la fecha programada, y deja de enviar los correos con fechas de ayer o de antes de ayer etc... eso es un punto de vista. mas o menos un crob job simulado

entonces pregunta por que no llega el email en ambos casos con un cron job del servidor o cron job simulado.
  #44 (permalink)  
Antiguo 02/11/2015, 00:29
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Cita:
Iniciado por pilucho Ver Mensaje
hola mortiprogramador
aun no funciona nunca llego el email y aun sigo esperando que llegue ese email,
y eso que seleccione una fecha siguiente y espere al dia siguiente y nada,
pregunta existe o no, si es posible poner un codigo que programe con hora?
la idea era que el script funcione con una hora o fecha programada en este caso el email no llega y ha pasado mas de 24hrs

hagamos la idea que existe un cron job en el hosting que este programado para actualizar el php.

se supone que debe llegar el email, en caso contrario no exista un cron job y el archivo php tenga que ser ejecutado por visitas o manalmente abrirlo la uRL, recien envie, ya que si no se abre la url no hay proceso de envio programado, --- bueno eso es lo que creo si no hay alguien que abra la url pues ya no enviara la fecha programada, y deja de enviar los correos con fechas de ayer o de antes de ayer etc... eso es un punto de vista. mas o menos un crob job simulado

entonces pregunta por que no llega el email en ambos casos con un cron job del servidor o cron job simulado.

Saludo.
Pues eso es por las condiciones.
Es decir, sí por ej hoy se crea un evento, no va a tener la fecha de hoy,
pues por las validaciones ingresará mínimocon fecha de mañana.

A su vez, sí se intenta correr hoy el script de envío de correos
ya sea con un cronjob o manualmente, no enviará nada porque
allá valida la fecha actual contra la fecha de los eventos.

Por ende, ese script de envío de correos se tiene que ejecutar
a diario, y en el caso de nuestro ejemplo, se tendría que ejecutar mañana
para que haga el envío del registro creado hoy.

Con eso ya se aclara.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #45 (permalink)  
Antiguo 02/11/2015, 20:15
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por mortiprogramador Ver Mensaje

Saludo.
Pues eso es por las condiciones.
Es decir, sí por ej hoy se crea un evento, no va a tener la fecha de hoy,
pues por las validaciones ingresará mínimocon fecha de mañana.

A su vez, sí se intenta correr hoy el script de envío de correos
ya sea con un cronjob o manualmente, no enviará nada porque
allá valida la fecha actual contra la fecha de los eventos.

Por ende, ese script de envío de correos se tiene que ejecutar
a diario, y en el caso de nuestro ejemplo, se tendría que ejecutar mañana
para que haga el envío del registro creado hoy.

Con eso ya se aclara.
Pero no envia por fecha ni envia nada y esta por cron job y esta creado igual a la imagen, por ejemplo lo ultimo que hice fue poner la fecha de ayer supuestamente deberia llegar hoy y nada de nada o sera que el codigo esta mal?


  #46 (permalink)  
Antiguo 02/11/2015, 21:45
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Cita:
Iniciado por pilucho Ver Mensaje
Pero no envia por fecha ni envia nada y esta por cron job y esta creado igual a la imagen, por ejemplo lo ultimo que hice fue poner la fecha de ayer supuestamente deberia llegar hoy y nada de nada o sera que el codigo esta mal?


Pues en mi caso, envía correos perfectamente siempre y cuando
las condiciones se cumplan.

Así que yo creo firmemente que el problema está en una de dos partes.

En que el servidor no está configurado para enviar correos,
o entre la silla y el teclado.

Y pues en post anteriores se nos confirmó que el servidor está bien, entonces descartado.
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #47 (permalink)  
Antiguo 02/11/2015, 21:57
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por mortiprogramador Ver Mensaje
Pues en mi caso, envía correos perfectamente siempre y cuando
las condiciones se cumplan.

Así que yo creo firmemente que el problema está en una de dos partes.

En que el servidor no está configurado para enviar correos,
o entre la silla y el teclado.

Y pues en post anteriores se nos confirmó que el servidor está bien, entonces descartado.
me parece que eres un poco soberbio quiza es por que sabes y lo que aprendiste quedara contigo, y solo se comparte un poco lo que uno quiere compartir es hasta donde veo tu actitud, pero el punto aqui es otro problema ya que no soy tu psicologo.

agradesco mucho la intencion por ayudarme y eso lo valoro, pero aun no me funciona y lo unico que hasta el momento hice es copiar los codigos y subirlo y programar el crob job para que se actualizara cada media hora en el transcurso del dia, de tal forma debe llegar a mi casilla de correo o quiza al no deseado pero ni eso... entonces donde puede estar el problema.

y ojo cambie uno o dos email y nada, te comento por si se te ocurre algo mas a tu nivel de conocimiento y decir prendiste prendiste tu ordenador, pc, computadora, etc.. tienes teclado lo enchucfaste ? etc..

aun que se que a mas de uno le interesa enviar email con una fecha programada ya que en este foro hay temas sin solucion. quiza soberbios o quiza nunca exista solucion y solo los grandes pueden lograr esto ni idea.
  #48 (permalink)  
Antiguo 02/11/2015, 22:00
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

si conocen alguien que visite el post escriban y me dicen que script es bueno y si se puede comprar y que funcione claro, ya que la mediocridad abunda.

esta novela continuara....
  #49 (permalink)  
Antiguo 03/11/2015, 09:36
Avatar de chronos682  
Fecha de Ingreso: febrero-2004
Ubicación: Tunja - Boyacá - Colombia
Mensajes: 627
Antigüedad: 20 años, 9 meses
Puntos: 69
Respuesta: No envia el email por fecha

El problema pilucho es que tu quieres que te den el código que mágicamente funcione en tu computador. Estoy asombrado de la paciencia que ha tenido mortiprogramador. No es cuestión de soberbia ni nada por el estilo, porque por lo que he visto te tratado de enseñar de la mejor manera y hasta te ha pasado un montón de código que de paso te indico funciona muy bien. El hecho de que te pasen un código y lo copies y lo pegues y por arte de magia funcione no tiene ningún caso. Tienes que analizarlo línea por línea e ir acomodándolo a tus necesidades. Vuelvo y te digo el código funciona. Lo que pasa es que no lo estás analizando ni acomodando y así nunca vas a aprender programación.
__________________
Si te gustó la respuesta dale +1

HERNÁN G. SIABATO M.
[email protected]
  #50 (permalink)  
Antiguo 03/11/2015, 13:59
Avatar de mortiprogramador
Colaborador
 
Fecha de Ingreso: septiembre-2009
Ubicación: mortuoria
Mensajes: 3.805
Antigüedad: 15 años, 2 meses
Puntos: 214
Respuesta: No envia el email por fecha

Cita:
Iniciado por pilucho Ver Mensaje
si conocen alguien que visite el post escriban y me dicen que script es bueno y si se puede comprar y que funcione claro, ya que la mediocridad abunda.

esta novela continuara....
Nada más acertado, la mediocridad abunda.

Ya
chronos682 confirmó que el código funciona,
que la gente no lea, ni entienda, eso ya es otro asunto,
y de ser soberbio hace mucho hubiese dejado de
escribir, e incluso, no hubiese posteado el código que envié.

Yo creo que lo mejor será obtener acceso a tu servidor
y dejar todo listo y funcionando, no veo otra manera.

__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, si nadie puede detenerte, te conviertes en algo muy diferente."
Visita piggypon.com
  #51 (permalink)  
Antiguo 03/11/2015, 20:30
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por mortiprogramador Ver Mensaje
Nada más acertado, la mediocridad abunda.

Ya
chronos682 confirmó que el código funciona,
que la gente no lea, ni entienda, eso ya es otro asunto,
y de ser soberbio hace mucho hubiese dejado de
escribir, e incluso, no hubiese posteado el código que envié.

Yo creo que lo mejor será obtener acceso a tu servidor
y dejar todo listo y funcionando, no veo otra manera.

Hay comentarios y comentarios y formas de decir las cosas sin ofender ni nada, lo soberbio fue por los ultimos comentarios, pero esto es foro de programacion solo puedo decir que estoy muy agradecido y todo aquel que ha puesto el interes en este post en prioridad a mortiprogramador por su paciencia infinita,

si copie y pegue el codigo como lo mostraste y edite el email ingrese al db la fecha etc y espere que llegara el email y solo espere y nada eso fue mi comentario que no funciona,

esta con el cron job programado y si en la imagen le falta ingresar el comando tambien ya lo ingrese Pero un cron job emulado igual envia, por ese lado no abria problema

si bien en cierto voy aprendiendo con ejemplos no todos tenemos la misma capacidad ni la edad para estos logros pero siempre me empeño en aprender a paso tortuga pero ahi voy
  #52 (permalink)  
Antiguo 03/11/2015, 20:35
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

Cita:
Iniciado por chronos682 Ver Mensaje
El problema pilucho es que tu quieres que te den el código que mágicamente funcione en tu computador. Estoy asombrado de la paciencia que ha tenido mortiprogramador. No es cuestión de soberbia ni nada por el estilo, porque por lo que he visto te tratado de enseñar de la mejor manera y hasta te ha pasado un montón de código que de paso te indico funciona muy bien. El hecho de que te pasen un código y lo copies y lo pegues y por arte de magia funcione no tiene ningún caso. Tienes que analizarlo línea por línea e ir acomodándolo a tus necesidades. Vuelvo y te digo el código funciona. Lo que pasa es que no lo estás analizando ni acomodando y así nunca vas a aprender programación.
hola chronos682, buen dia,
no es que me den el codigo, es mas yo mencione la fuente y copie y trate de hacer funcionar y como no resolto acudi una vez mas al foro, y coordialmente mortiprogramador me ayudo, resolviendo los errores del IF y validacion, que entiendo poco que rayos es, pero si quito el IF envia al momento, pero si queda igual no envia, por eso fue mi respuesta.

supongamos que no este por cron job en el host.. y tenga que hacerlo manualmente, actualizando o abriendo la page antes de la fecha programada igual deberia enviar no? o estoy mal ya que se simula un cron o no?
  #53 (permalink)  
Antiguo 07/11/2015, 09:28
 
Fecha de Ingreso: noviembre-2004
Ubicación: NULL
Mensajes: 655
Antigüedad: 20 años
Puntos: 6
Respuesta: No envia el email por fecha

al final no pudo resolver el problema quedo a medias la ayuda

Etiquetas: Ninguno
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 00:18.