rasputin009 Posted January 10 Share Posted January 10 After the customer fills the form, the form data is sent to mysql and an email gets sent to me with the last form data that the customer submitted. But, the email "last mysql data" is not going as inline text. Please help me. Sample code is given below. <?php define('DB_NAME', 'XXXXXXX'); define('DB_USER', 'XXXXXXX'); define('DB_PASSWORD', 'XXXXXXX'); define('DB_HOST', 'localhost'); $link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD); if (!$link) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db(DB_NAME, $link); if (!$db_selected) { die('Can\'t use ' . DB_NAME . ': ' . mysql_error()); } //Start Posting the data in Mysql database from Form Input $value = $_POST['input1']; $value2 = $_POST['MAmount']; $sql = "INSERT INTO demo (input1, MAmount) VALUES ('$value', '$value2')"; if (!mysql_query($sql)) { die('Error: ' . mysql_error()); } <?php define('DB_NAME', 'XXXXXXX'); define('DB_USER', 'XXXXXXX'); define('DB_PASSWORD', 'XXXXXXX'); define('DB_HOST', 'localhost'); $link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD); if (!$link) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db(DB_NAME, $link); if (!$db_selected) { die('Can\'t use ' . DB_NAME . ': ' . mysql_error()); } //Start Posting the data in Mysql database from Form Input $value = $_POST['input1']; $value2 = $_POST['MAmount']; $sql = "INSERT INTO demo (input1, MAmount) VALUES ('$value', '$value2')"; if (!mysql_query($sql)) { die('Error: ' . mysql_error()); } //start print the database $data = mysql_query("SELECT * FROM demo ORDER BY ID DESC LIMIT 1") or die(mysql_error()); Print "<table border cellpadding=3>"; while($info = mysql_fetch_array( $data )) { Print "<tr>"; Print "<th>ID:</th> <td>".$info['ID'] . "</td> "; Print "<th>Input1:</th> <td>".$info['input1'] . "</td> "; Print "<th>MAmount:</th> <td>".$info['MAmount'] . " </td></tr>"; } Print "</table>"; mysql_close(); //end print the database on form processing page //start emailing the data date_default_timezone_set('Asia/Kolkata'); require_once('class.phpmailer.php'); //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); //$body = "gdssdh"; //$body = preg_replace("[\]",'',$body); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "ssl://XXXXXXX.XXXXXXX.org"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the servier $mail->Host = " https://www.astaguru.com/ "; // sets GMAIL as the SMTP server $mail->Port = 465; // set the SMTP port for the GMAIL server $mail->Username = "XXXXXXX.com"; // GMAIL username $mail->Password = "XXXXXXX"; // GMAIL password $mail->SetFrom('[email protected]', 'HAL'); //$mail->AddReplyTo("XXXXXXX', 'First Last"); $mail->Subject = "XXXXXXX"; //THE PROBLEM IS HERE WHEN I WANT TO SEND THE DATA AS INLINE TEXT TO EMAIL FROM MYSQL IT IS NOT WORKING. ONLY "PRINT THE DATA" IS SENDING TO EMAIL. $body = 'Print the data'; mysql_connect("localhost","XXXXXXX","XXXXXXX"); @mysql_select_db("XXXXXXX"); $query["SELECT * FROM demo ORDER BY ID DESC LIMIT 1"]; $result = mysql_query($query); //while ($row = mysql_fetch_array ($result)) { // $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "XXXXXXX"; $mail->AddAddress($address, "user2"); Quote Link to comment https://forums.phpfreaks.com/topic/326477-how-to-send-mysql-data-to-an-email/ Share on other sites More sharing options...
gw1500se Posted January 10 Share Posted January 10 Please edit your post and put your code using the code icon in the menu above (<>). It formats the the code properly making it easier to read and remove all the excess spaces. Quote Link to comment https://forums.phpfreaks.com/topic/326477-how-to-send-mysql-data-to-an-email/#findComment-1647799 Share on other sites More sharing options...
maxxd Posted January 11 Share Posted January 11 First and foremost, the mysql_* functions were removed from PHP quite some time ago. Look into PDO for all your database needs. That having been said, a lot of old code still exists on the internet, so don't blindly copy and paste. The good aspect of the code you're using is that it's using PHPMailer instead of php's native mail function. Not to be rude, but the rest of it is dusty and shouldn't be used. Quote Link to comment https://forums.phpfreaks.com/topic/326477-how-to-send-mysql-data-to-an-email/#findComment-1647820 Share on other sites More sharing options...
Moorcam Posted January 13 Share Posted January 13 On 1/10/2025 at 8:23 PM, rasputin009 said: After the customer fills the form, the form data is sent to mysql and an email gets sent to me with the last form data that the customer submitted. But, the email "last mysql data" is not going as inline text. Please help me. Sample code is given below. <?php define('DB_NAME', 'XXXXXXX'); define('DB_USER', 'XXXXXXX'); define('DB_PASSWORD', 'XXXXXXX'); define('DB_HOST', 'localhost'); $link = mysql_connect (DB_HOST, DB_USER, DB_PASSWORD); if (!$link) { die('Could not connect: ' . mysql_error()); } $db_selected = mysql_select_db(DB_NAME, $link); if (!$db_selected) { die('Can\'t use ' . DB_NAME . ': ' . mysql_error()); } //Start Posting the data in Mysql database from Form Input $value = $_POST['input1']; $value2 = $_POST['MAmount']; $sql = "INSERT INTO demo (input1, MAmount) VALUES ('$value', '$value2')"; if (!mysql_query($sql)) { die('Error: ' . mysql_error()); } //start print the database $data = mysql_query("SELECT * FROM demo ORDER BY ID DESC LIMIT 1") or die(mysql_error()); Print "<table border cellpadding=3>"; while($info = mysql_fetch_array( $data )) { Print "<tr>"; Print "<th>ID:</th> <td>".$info['ID'] . "</td> "; Print "<th>Input1:</th> <td>".$info['input1'] . "</td> "; Print "<th>MAmount:</th> <td>".$info['MAmount'] . " </td></tr>"; } Print "</table>"; mysql_close(); //end print the database on form processing page //start emailing the data date_default_timezone_set('Asia/Kolkata'); require_once('class.phpmailer.php'); //include("class.smtp.php"); // optional, gets called from within class.phpmailer.php if not already loaded $mail = new PHPMailer(); //$body = "gdssdh"; //$body = preg_replace("[\]",'',$body); $mail->IsSMTP(); // telling the class to use SMTP $mail->Host = "ssl://XXXXXXX.XXXXXXX.org"; // SMTP server $mail->SMTPDebug = 1; // enables SMTP debug information (for testing) // 1 = errors and messages // 2 = messages only $mail->SMTPAuth = true; // enable SMTP authentication $mail->SMTPSecure = "ssl"; // sets the prefix to the servier $mail->Host = " https://www.astaguru.com/ "; // sets GMAIL as the SMTP server $mail->Port = 465; // set the SMTP port for the GMAIL server $mail->Username = "XXXXXXX.com"; // GMAIL username $mail->Password = "XXXXXXX"; // GMAIL password $mail->SetFrom('[email protected]', 'HAL'); //$mail->AddReplyTo("XXXXXXX', 'First Last"); $mail->Subject = "XXXXXXX"; //THE PROBLEM IS HERE WHEN I WANT TO SEND THE DATA AS INLINE TEXT TO EMAIL FROM MYSQL IT IS NOT WORKING. ONLY "PRINT THE DATA" IS SENDING TO EMAIL. $body = 'Print the data'; mysql_connect("localhost","XXXXXXX","XXXXXXX"); @mysql_select_db("XXXXXXX"); $query["SELECT * FROM demo ORDER BY ID DESC LIMIT 1"]; $result = mysql_query($query); //while ($row = mysql_fetch_array ($result)) { // $mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test $mail->MsgHTML($body); $address = "XXXXXXX"; $mail->AddAddress($address, "user2"); //$mail->AddAttachment("images/phpmailer.gif"); // attachment //$mail->AddAttachment("images/phpmailer_mini.gif"); // attachment if(!$mail->Send()) { echo "Mailer Error: " . $mail->ErrorInfo; } else { echo "Message sent!"; } ?> I replied to your post on another forum. Quote Link to comment https://forums.phpfreaks.com/topic/326477-how-to-send-mysql-data-to-an-email/#findComment-1647884 Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.