php - 使用php基于mysql查询自动回复电子邮件

标签 php mysql email

我正在处理一个只有 2 个字段的简单表单。姓名和电子邮件。到目前为止我已经成功地做到了。

  1. 我有将数据发送到 mysql 数据库的表单。
  2. 我可以全面查询数据库,也可以根据表单条目查询数据库。
  3. 我已经测试过,可以使用基本邮件脚本或表单发送电子邮件。

我遇到的问题是,我需要将数据与数据库中的第三个字段一起发送给提交者,该字段是自动增量主键作为其成员编号。我的问题是如何根据数据库条目发送电子邮件。

即;感谢您“提交者姓名”加入您的成员(member) ID 是“主键”。 这是我当前的代码。

Index.html

<form method="post" action="doit.php">
    Name<input name="Name" type="text" /><br>
    Email<input name="Email" type="text" /><br>
    <input name="Submit" type="submit" value="submit" />
</form>

doit.php

<?php
$con = mysqli_connect('localhost','DB_Username','DB_Password');

if(!$con)
{
    echo 'Not Connected To Server';
}
if(!mysqli_select_db($con,'DB_Name'))
{
    echo 'Database Not Selected';
}
$Name = $_POST['Name'];
$Email = $_POST['Email'];

$sql = "INSERT INTO Table_name (Name,Email) VALUES ('$Name','$Email')";

if(!mysqli_query($con,$sql))
{
    echo 'Not Inserted';
}
else
{
    echo 'Inserted';
}
header ("refresh:2; url=auto-response.php");


?>

自动响应.php

<?php
if ($_SERVER["REQUEST_METHOD"}=="POST") {
    $connnection=mysqli_connect("localhost","DB_username","DB_password","DB_Name");
    // Check connection
    if ($connection) {
        echo "connection successfull! <br>;"
    } else {
        die("connection failed. Reason ". mysqli_connect_err())
}
{

$Email=$_POST["Email"];
$Name=$_POST["Name"];
$ID=$_POST["ID"];

$sql="SELECT ID,Email,Name FROM Table_Name WHERE Email='".$Email."'";
$result = mysqli_query($connection,$sql);

$to      = 'Email';
$subject = 'Thank you For Joining';
$message = 'Thank you for joining "Email" Your Member ID is "ID"';
$headers = 'From: dsarmy@thedarksideshop.com' . "\r\n" .
    'Reply-To: dsarmy@thedarksideshop.com' . "\r\n" .
    'X-Mailer: PHP/' . phpversion();

mail($to, $subject, $message, $headers);
?> 

最佳答案

Mysql有它自己的函数可以给你id。虽然您在插入时已经有了名称。

// Using the below line right after your insert you can get the primary id.
$id = $connection->insert_id; // Get latest inserted id.

希望有帮助。

编辑:根据您所做的编辑,我已按照其工作方式安排了您的代码。现在就试试这个。

Index.html

<form method="post" action="doit.php">
    Name<input name="Name" type="text" /><br>
    Email<input name="Email" type="text" /><br>
    <input name="Submit" type="submit" value="submit" />
</form>

doit.php

$con = mysqli_connect('localhost','DB_Username','DB_Password');

if(!$con)
{
    echo 'Not Connected To Server';
}
if(!mysqli_select_db($con,'DB_Name'))
{
    echo 'Database Not Selected';
}

$Name = $_POST['Name'];
$Email = $_POST['Email'];

$sql = "INSERT INTO Table_name (Name,Email) VALUES ('$Name','$Email')";

if(!mysqli_query($con,$sql))
{
    echo 'Not Inserted';
}
else
{
    echo 'Inserted';
    $id = $con->insert_id; // Get latest inserted id.

    $to      = $Email;
    $subject = 'Thank you For Joining';
    $message = 'Thank you for joining "'.$Name.'" Your Member ID is "'.$id.'"';
    $headers = 'From: dsarmy@thedarksideshop.com' . "\r\n" .
        'Reply-To: dsarmy@thedarksideshop.com' . "\r\n" .
        'X-Mailer: PHP/' . phpversion();

    mail($to, $subject, $message, $headers);
}

关于php - 使用php基于mysql查询自动回复电子邮件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46381739/

相关文章:

php - 为 Woocommerce 中的特定运输方式发送订单保留电子邮件

php - 加载数据infile问题

php - 分隔日期数组以使数组中的第一个日期具有不同的输出

Java - 使用 javax.mail 库更改电子邮件附件的名称

javascript - Sendgrid:渲染 ejs 模板,然后作为电子邮件发送。

php - 如何在php mysql中离线更新用户状态

php - 如何选择表中的上一个/下一个行,其中列值

php - explode() 给了我我不期望的空白值

mysql - 我不知道如何在 sequelize 中根据类别对费用求和

c# - Asp.net:如何修复向多个收件人发送邮件时引发的异常?erroline:在邮件 header 中发现无效字符: ','