Php 接受并记录收到的HTML电子邮件表单中的条件值

Php 接受并记录收到的HTML电子邮件表单中的条件值,php,html,html-email,Php,Html,Html Email,我正试图通过用户收到的电子邮件来确定电子邮件确认功能 如果我有(这是正确的显示方式,而不是双引号:),那么我如何使用PHP$\u POST['acceptval']来确认这个HTML,它必须通过包含的ID,从收到的消息表单中记录值到MySQL数据库,然后从网站上通过此条件 因此,如果我将包含require'connect.php'到下面的代码,并将获取到,消息,主题,我将收到消息到我的userreceiveremail@gmail.com,然后我希望允许用户按下按钮,并将值记录到他的记录字段中,

我正试图通过用户收到的电子邮件来确定电子邮件确认功能

如果我有
(这是正确的显示方式,而不是双引号:
),那么我如何使用
PHP
$\u POST['acceptval']
来确认这个
HTML
,它必须通过包含的
ID
,从收到的消息表单中记录值到
MySQL
数据库,然后从网站上通过此条件

因此,如果我将包含
require'connect.php'到下面的代码,并将获取
消息
主题
,我将收到消息到我的
userreceiveremail@gmail.com
,然后我希望允许用户按下按钮,并将值记录到他的记录字段中,但我不知道它是如何工作的:

 <?php
    $to = "userreceiveremail@gmail.com";
    $subject = "Confirmation notification";

    $message = "
    <html>
    <head>
    <title>Accept registration</title>
    </head>
    <body>
    <p>Hello, dear User! Please, accept your registration</p>
    <input type='submit' value='Accept' id='btn1'>
    </body>
    </html>
    ";

    $headers = "MIME-Version: 1.0" . "\r\n";
    $headers .= "Content-type:text/html;charset=UTF-8" . "\r\n";

    $headers .= 'From: <senderemail@gmail.com>' . "\r\n";
    $headers .= 'Cc: Some text' . "\r\n";

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

    echo "Mail sent successfully";
    ?> 

也许我的场景与解决这个特定任务的经典或正确方法不符,因为我只是想弄清楚,如何获得期望的结果,但我找不到任何类似的例子


任何建议、指南或示例都会非常有用

如果您试图将
添加到$message字符串中,那么它当然会失败,因为双引号会弄乱PHP字符串。您需要转义它们,或者使用单引号。但我不建议将表格放入电子邮件中——许多电子邮件客户不支持或不允许这样做。相反,只需给用户一个指向应用程序中专用URL的链接。如果需要标识特定用户,可以将唯一标识符(例如GUID)作为参数添加到URL中。看看流行网站是如何实现这类功能的,然后你会想生成一个类似
https://www.example.com/ConfirmRegistration.php?id=232d3dfa-d254-440f-a4a1-4297c3aad10c
。在数据库中,您将根据用户记录将此GUID存储在列中。因此,当您收到对ConfirmRegistration.php的请求时,它可以进行比较,以查看该值是否与数据库中存储的任何值匹配。如果是,那么您可以确认用户的注册(如果他们之前没有确认)。PHP可以生成GUID(如果您安装了扩展)-请参阅。或者大多数数据库都可以这样做(当您创建用户的数据库记录时,这将是一个很好的时机,然后立即保存到列中)-例如,对于MySQL,您可以使用-我在我的一个站点中使用它,它可以很好地用于类似的任务。(注意,UUID和GUID非常相似,可以互换。)P.S.关于“热门网站”,我可能会说“几乎每个网站”-你会发现,如果你注册一些东西,然后收到确认电子邮件,该电子邮件中的按钮通常会将您链接到一个与我刚才建议的模式类似的URL,在查询参数中包含一个或多个与您的帐户相关的唯一变量。这允许网站识别您的帐户并进行确认,而不允许或要求您为此目的登录。这是一种非常常见的模式,即使你没有注意到,99%的用户肯定使用过这样的链接。
Input
字段不是Outlook读取的,仅供参考。您可能会链接到一个在线表单,查看表单前景,少量阅读
input
的电子邮件将显示类似的消息:您的数据正在通过非安全通道传输。以下是输入功能可用的电子邮件客户端列表: