-2

客户填写表格后,表格数据将被发送到 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

?>
4

1 回答 1

0

哇,它甚至应该工作吗?

$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);

错误的函数名称(大写字母),然后查询未正确分配给字符串

尝试

$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);
于 2013-01-04T19:39:22.390 回答