通过电子邮件向用户发送唯一代码

时间:2014-01-13 13:15:57

标签: php email unique-key

我真的很难过,我希望有人可以帮助我:我有一份预先生成的促销代码清单。每当用户在表单中输入他的电子邮件时,我想生成一个包含其中一个预定义代码的电子邮件 - 显然,每个代码只应发送一次。

我知道如何发送和生成电子邮件,如果我可以动态生成代码,我也会知道如何做到这一点。但我从来没有尝试过使用php一次一个接一个地“抓住”一个代码。

所以感谢任何帮助!

2 个答案:

答案 0 :(得分:0)

使用名为“sent”的列和唯一ID(使用auto_increment)将所有代码插入数据库中。

然后使用

获取代码
SELECT id,code FROM my_codes WHERE sent = 0 LIMIT 1;

发送您使用过代码的代码和保险箱:

UPDATE my_codes SET sent = 1 WHERE id = $the_id_from_the_selected_code;

如果您不想再次使用该代码,则可以在不使用已发送列的情况下删除代码。

DELETE FROM my_codes WHERE id = $the_id_from_the_selected_code;

要“动态”生成唯一代码,您可以使用uniqid(rand()),它会根据微秒的时间返回一个uniq ID,以及一个随机前缀,用于完全生成2个邮件的情况同一时间。

答案 1 :(得分:0)

请尝试做类似的事情:

| id (INT (11)) | coupon_code (varchar(30)) | sent_status (INT (11)) | date |

=============================================== ==============================

SELECT * FROM coupon_code WHERE sent_status=0 ORDER BY RAND( ) // use this during sending email

$coupon_code = $row["coupon_code"];

UPDATE coupon_code SET sent_status='1' where coupon_code='$coupon_code'; // update coupon_code table once you get the code and after sending email to user.