The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages
> PHP Development
|
How to send mysql data to email after submitting the form?
Discuss How to send mysql data to email after submitting the form? in the PHP Development forum on Dev Shed. How to send mysql data to email after submitting the form? PHP Development forum discussing coding practices, tips on PHP, and other PHP-related topics. PHP is an open source scripting language that has taken the web development industry by storm.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

January 5th, 2013, 11:54 AM
|
|
Registered User
|
|
Join Date: Jan 2013
Posts: 2
Time spent in forums: 16 m 35 sec
Reputation Power: 0
|
|
|
How to send mysql data to email after submitting the form?
After customer filling the form, the form data will be send to mysql, and an email will sent to me with the last form data that customer submitted. All is working, but only the problem is in the email "last mysql data" is not going as inline text. So, how to do this? I am doing in PHP. In am new in PHP. Please help me.
Sample code is given below.
Please see full code (Copy and paste this URL in the Browser) - halmiratea.com/to-stackoverflow.com-not-personal1.php#problem
Code:
$mail->Subject = "Halmira 469";
$body = 'Print the data';
mysql_connect("localhost","XXXXXXX","XXXXXXX");
@mysql_select_db("sandi565_form11");
$query["SELECT * FROM demo ORDER BY ID DESC LIMIT 1"];
$result = mysql_query($query);
$mail->MsgHTML($body);
$address = "XXXXXXX@gmail.com";
$mail->AddAddress($address, "user2");
|

January 5th, 2013, 12:12 PM
|
|
|
|
First if you are just learning PHP do not use the deprecated mysql extensions. Learn PDO and OOP.
Second, don't make people go to another web site to look at your code (most probably won't). Post all the code here using [ PHP ] tags which formats your code for easy reading. See the sticky at the top of this forum.
Third, it is not clear what you are trying to put in the email. You are not using the query results anywhere so you need to clarify what you are trying to do.
__________________
There are 10 kinds of people in the world. Those that understand binary and those that don't.
|

January 5th, 2013, 12:25 PM
|
|
Registered User
|
|
Join Date: Jan 2013
Posts: 2
Time spent in forums: 16 m 35 sec
Reputation Power: 0
|
|
In the email I want to put the data which have been filled by the last form submitter. How I shall use the query results? How I put the last mysql data in the email as inline text?
Ok, here is the full code.
Code:
<?php
define('DB_NAME', 'sandi565_form11');
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 = "XXXXXXX.XXXXXXX.org"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "contact@XXXXXXX.com"; // GMAIL username
$mail->Password = "XXXXXXX"; // GMAIL password
$mail->SetFrom('contact@XXXXXXXX.com', 'HAL');
//$mail->AddReplyTo("user2@gmail.com', 'First Last");
$mail->Subject = "Halmira 469";
//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("sandi565_form11");
$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@gmail.com";
$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!";
}
?>
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|