我们需要向客户发送一份调查问卷。我已经这样做了,并且正在发挥作用。
它的作用:
- 我通过电子邮件发送链接
- 我的客户打开电子邮件中的链接
- 他们填写;最后
- 这个小脚本将他们的响应发送回给我。
我遇到的问题是我想知道哪个客户回复了我的调查问卷?我尝试了所有 $_SERVER
变量,但找不到电子邮件地址。
我担心如果我在调查问卷中询问用户的电子邮件地址,他们可能会给我一个假地址。
如何可靠地获取他们的电子邮件地址?
最佳答案
您需要为通过电子邮件发送的每个链接使用唯一标识符。
例如,您可以创建数据库表,其中每封邮件都分配给一个 ID。像这样。
+-----+-------------------+
| ID | Mail |
+-----+-------------------+
| 1 | <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="6436050a000b092409050d084a070b09" rel="noreferrer noopener nofollow">[email protected]</a> |
| 2 | <a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="f5949b9a819d9087b59298949c99db969a98" rel="noreferrer noopener nofollow">[email protected]</a> |
+-------------------------+
现在您可以从数据库中获取所有邮件,循环遍历它们的数组并为每个邮件生成链接,其中将在数据库中对 ID 的 GET 引用中(因此您不必使用真实的电子邮件地址在链接中)。
链接看起来像 myaddress.com/form.php?id=1
并且与给定邮件对应的 ID 将位于 $_GET["id"]
。
注意#1,在使用 $_GET["id"]
识别邮件之前,您应该明确检查是否存在可能的 SQL 注入(inject)。
注意#2,从用户角度来看,在地址中使用 id 而不是完整的用户邮件会更好,因此它不会像数字和 id 那样引起那么多关注,因此用户不会尝试以此进行赌博。
关于php - 问卷调查、推荐电子邮件添加,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29817999/