客户填写表格后,表格数据将被发送到 mysql,并且将向我发送一封电子邮件,其中仅包含客户提交的最后一个表格数据。一切正常,但唯一的问题是电子邮件中的“mysql 数据”不是内联文本。那么,如何做到这一点呢?我在做PHP。我只有两周的 PHP 经验。示例代码如下。请帮忙。
<?php
define('DB_NAME', 'sandi565_form11');
define('DB_USER', '********');
define('DB_PASSWORD', '********');
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 on form processing page
$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 = preg_replace("[\]",'',$body);
$mail->IsSMTP(); // telling the class to use SMTP
$mail->Host = "ssl://stevie.********.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 = "stevie.********.org"; // sets GMAIL as the SMTP server
$mail->Port = 465; // set the SMTP port for the GMAIL server
$mail->Username = "contact@********.com"; // GMAIL username
$mail->Password = "********"; // GMAIL password
$mail->SetFrom('contact@********.com', 'HAL');
//$mail->AddReplyTo("user2@gmail.com', 'First Last");
$mail->Subject = "Halmira 469";
//$body = "gdssdh";
//THE PROBLEM IS HERE WHEN I WANT TO SEND THE DATA AS BODY TO EMAIL FROM MYSQL IT IS NOT WORKING. SHOWING ERROR MESSAGE BODY EMPTY.
$Body = "Print the data"; @MYSQL_CONNECT("localhost","********","********");
@mysql_select_db("sandi565_form11");
$query["SELECT * FROM demo ORDER BY ID DESC LIMIT 1"];
$result = @MYSQL_QUERY($query);
//$mail->AltBody = "To view the message, please use an HTML compatible email viewer!"; // optional, comment out and test
$mail->MsgHTML($body);
$address = "********@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!";
}
//end email the data
?>