Salve ho un piccolo problema con uno script che dovrebbe selezionare da un tabella degli utenti in base alla data di nascita e poi spedire un e-mail di auguri...
codice script:
lo script diciamo che funziona a metà...ovvero se viene prelevato dalla tabella users un solo utente , viene spedita l'email, insomma fa il suo lavoro, mentre se sono più di uno l ' email non viene spedita a tutti gli utenti...
per intederci meglio:
eseguendo la query qui vengono trovati 2 utenti che compiono gli anni...l'email viene spedita soltanto al secondo mentre al primo utente no.... questo problema non si verifica appunto quando viene trovato un solo utente.
altro problema, eseguendo lo script , se non ci sono utenti trovati dalla query dovrebbe restituirmi l echo alla fine dove mi dice che nessun utente compie gli anni, non ottengo nulla invece.
codice script:
PHP:
<?php
// HERE add your data for connecting to MySQ database
$host = 'XXXX'; // MySQL server address
$user = 'XXXX'; // User name
$pass = 'XXXX'; // User`s password
$dbname = 'XXXX'; // Database name
// connect to the MySQL server
$conn = new mysqli($host, $user, $pass, $dbname);
// check connection
if (mysqli_connect_errno()) exit('Connect failed: '. mysqli_connect_error());
$oggi=date('Y-m-d');;//leggi la data atuale, attento = a come è scritta in tabella
//interroghi il db
$query="SELECT username,email FROM users WHERE date_format(compleanno,'%d %m') = date_format(curdate(),'%d %m')";
$ris=mysqli_query($conn, $query);
while($row=mysqli_fetch_assoc($ris)){
$utente=$row['username'];
$email=$row['email'];
}
if($ris != 0)
{
//Invio un Email di auguri.
$to = $email;
$toname = $utente;
$subject = "Serpinter sito - Tanti Auguri!!";
$boundary = "==MP_Bound_xyccr948x==";
$headers = "MIME-Version: 1.0\r\n";
$headers .= "Content-type: multipart/alternative; boundary=\"$boundary\"\r\n";
$headers .= "From: prova@hotmail.com \r\n";
$html_msg = "<center>";
$html_msg .= "<table width=\"500\" border=0 cellpadding=\"4\">";
$html_msg .= "<tr><td align=\"center\"> ";
$html_msg .= "</td></tr>";
$html_msg .= "<tr><td>Messaggio di auguri da parte di <font color=\"red\">Serpinter</font>";
$html_msg .= "</td></tr><tr><td align=\"center\"> ";
$html_msg .= "</td></tr></table></center>";
$confirmmessage = "Ciao <font color=\"red\">" . $toname . "</font> oggi compi gli anni.\n\n";
$confirmmessage .= "<br>Questo e' un messaggio automatico che Serpinter ha voluto inviare a tutti gli utenti\n registrati al sito guida, che oggi compiono gli anni.\n\n\n<center>Tanti Auguri di Buon Compleanno!!\n <img src=\"http://i43.tinypic.com/8x33bk.gif\"></center>";
$confirmmessage .= $html_msg . "\n\n";
$confirmmessage .= '<a href="http://prova.it/login.php?message=14">Serpinter - Sito Guida.</a>';
$message = "This is a Multipart Message in MIME format\n";
$message .= "--$boundary\n";
$message .= "Content-type: text/html; charset=iso-8859-1\n";
$message .= "Content-Transfer-Encoding: 7bit\n\n";
$message .= $confirmmessage . "\n";
$message .= "--$boundary--";
$mailsent = mail($to, $subject, $message, $headers);
echo "E-mail di auguri spedita con successo!!";
}else{
echo "Nessun utente oggi compie gli anni";
}
//FINE CODICE PER E-MAIL DI AUGURI
?>
lo script diciamo che funziona a metà...ovvero se viene prelevato dalla tabella users un solo utente , viene spedita l'email, insomma fa il suo lavoro, mentre se sono più di uno l ' email non viene spedita a tutti gli utenti...
per intederci meglio:

eseguendo la query qui vengono trovati 2 utenti che compiono gli anni...l'email viene spedita soltanto al secondo mentre al primo utente no.... questo problema non si verifica appunto quando viene trovato un solo utente.
altro problema, eseguendo lo script , se non ci sono utenti trovati dalla query dovrebbe restituirmi l echo alla fine dove mi dice che nessun utente compie gli anni, non ottengo nulla invece.