从数据库获取数据并在PHP中的邮件功能中使用

时间:2019-02-27 07:32:22

标签: php mysql phpmailer

我是php新手,目前正在做一个项目

我使用表格将数据存储在数据库中。

我具有邮件功能,当单击“提交”按钮时,会将邮件发送到著名的电子邮件ID。我正在使用phpmailer库。

这是我的邮件功能

class mail 
{

    public function sendMail(){

    require 'vendor/autoload.php';

        $mail = new PHPMailer();  // Passing `true` enables exceptions or null without exception


    //Server settings
    $mail->SMTPDebug = 0;                                 // Enable verbose debug output
    $mail->isSMTP();                                      // Set mailer to use SMTP
    $mail->Host = 'smtp.gmail.com';  // Specify main and backup SMTP servers
    $mail->SMTPAuth = true;                               // Enable SMTP authentication
    $mail->Username = 'xyz@gmail.com';                 // SMTP username
    $mail->Password = 'xyz123';                           // SMTP password
    $mail->SMTPSecure = 'tls';                            // Enable TLS encryption, `ssl` also accepted
    $mail->Port = 587;                                    // TCP port to connect to

    //Recipients
    $mail->setFrom('xyz@gmail.com', 'xyz');
    $mail->addAddress('abc@gmail.com', 'abc');

    $mail->addCC('zxc@gmail.com');


    //Attachments
    $mail->addAttachment('lob.png', 'sample.png');         // Add attachments
       // Optional name

    //Content
    $mail->isHTML(true);                                  // Set email format to HTML
    $mail->Subject = 'Report';
    $mail->Body    = 'This is the HTML message body <b>in bold!</b>';


    if (!$mail->send()) {
            return "Error sending message" . $mail->ErrorInfo;
        } else {
            return "Message sent!";
        }


}

}

这是我的代码,用于将数据作为send.php存储到数据库

if(isset($_POST['submit'])){
$name = $_POST['name'];
$age = $_POST['age'];
$quality = $_POST['quality'];

$sql = "INSERT INTO user(name,age,quality) VALUES('$name','$age','$quality')";
}

这是我的html表单

<form class="quality" method="POST" action="send.php">
<label for="name">Name</label>
<input type = "text" class = "form-quality" name="name" value="" / >
<label for="age">Age</label>
<input type="text" class ="form-quality" name="age" value="" / >
<label for="quality">Quality</label>
<input type="ratio" class ="form-quality" name="quality" value="E" / >
<input type="ratio" class ="form-quality" name="quality" value="P" / >
</form>

1)如何从数据库获取数据?
2)在以前发送电子邮件到一个或两个ID的邮件功能中,但是我需要当我从“比率”按钮中选择“值= E”时,它应该发送到一封电子邮件,如果我选择“值= P”,则应该发送到另一封电子邮件根据用户选择的值存储在数据库中的电子邮件

回答得最好的任何人都会对我有更多的帮助

1 个答案:

答案 0 :(得分:0)

假设您说的是在教育环境中进行项目,而不是出于专业目的:

当您从if(isset($_POST['submit']))上的表单中获取数据时,将这些变量作为参数发送到sendMail函数,然后可以在函数内部使用参数创建一个变量,以构建格式正确的消息,然后发送给您您的$mail->Body

在该功能内,您还可以检查在单选按钮输入上收到的是“ E”还是“ P”,并提供不同的值(接收者的电子邮件)并将其传递给您的addAddress。

如果这不是一个学校项目,那么您在发送或插入数据库时​​必须非常小心。在发送前验证表单上收到的所有内容,然后继续检查有关SQL注入的注释中的链接。

这本来应该是对回复的评论,但是我没有足够的声誉来发表评论,对此感到抱歉。