- Home
- Categorie
- Coding e Sistemistica
- PHP
- Aggiornamento ordine via email
-
Aggiornamento ordine via email
Ciao a tutti. Sto sviluppando un piccolo e-commerce per un cliente e ho scritto uno script per l'invio di una email quando l'ordine del cliente viene aggiornato (gli stati sono: In attesa, in lavorazione, spedito, cancellato).
Ecco il codice:
<?php if($session->isAdmin()){?> <br><br> <center> <?php if ($_POST['stato'] == '0') $stato1 = "In Attesa"; elseif ($_POST['stato'] == '1') $stato1 = "In Elaborazione"; elseif ($_POST['stato'] == '2') $stato1 = "Spedito"; elseif ($_POST['stato'] == '3') $stato1 = "Cancellato"; /** * Provo ad aggiornare il record passando l'id * tramite il POST. */ $query = mysql_query("UPDATE ordini SET stato='$stato' WHERE id='$id'") or die("Errore nella query:" . mysql_error()); /** * Se la query di aggiornamento non è andata a buon * fine. */ if(!$query) { echo "<font class=\"testo\">Errore nella query</font>";} else { echo "<font class=\"testo\">Ordine modificato correttamente";} $result = mysql_query("SELECT * FROM clienti WHERE id='$id' LIMIT 1"); for($i=0; $i<$num_rows; $i++){ $id = mysql_result($result,$i,"id"); $email = mysql_result($result,$i,"email"); } //E mando l'email di modifica dell'ordine $from = "From: [email protected]"; $subject = "TesoridiCartagine.it - Lo stato del suo ordine è cambiato."; $body = "Gentile Cliente,\n\n il suo ordine è stato aggiornato. Adesso il suo ordine è nel seguente stato:\n\n Stato: ".$stato1."\n\n Lo staff di TesoridiCartagine.it"; if (mail($email,$subject,$body,$from)) { echo " ed email pure al cliente.<br><br><a href=\"./ordini.php\">Ordini</a></font>";} else { echo " ed email NON inviata al cliente<br><br><a href=\"./ordini.php\">Ordini</a></font>";} } ?>
L'aggiornamento dell'ordine avviene perfettamente, inoltre mi stampa a video che l'email la manda, ma controllando NON manda l'email di aggiornamento. Dove sbaglio?
Grazie in anticipo a tutti quelli che mi vorranno dare una mano.;)
-
Non so perchè ma adesso funziona °_°