我有一个网站,人们可以在其中下载某些软件的试用版。他们必须输入他们的电子邮件地址,但只要有“@”和 .com/.co.uk 等,就可以输入任何内容。因为我想使用这些地址发送有关完整信息的信息产品,我正在尝试找到一种方法,在新用户下载软件之前向他们发送验证电子邮件。(这样我就知道电子邮件是有效的)我已经在谷歌上搜索了很长时间,但找不到任何可以帮助我的东西。有没有人有什么建议?提前感谢您的帮助。
问问题
270 次
1 回答
0
您可以使用激活电子邮件(激活链接)之类的东西,然后将用户重定向到您的下载页面。
老派解决方案:您可以尝试:
$token = md5(uniqid(time()));
进而:
<?
// some more code... after submitting your form:
$headers="MIME-Version: 1.0\r\n";
$headers.="Content-type: text/html; charset=utf-8\r\n";
$headers.= "From: your site<noreply@site.com>\r\n";
$content="
<html>
<head></head>
<body>
<p>activation link</p>
<p>click here to activate your account: <br /> <br /><a href=http://site.com/index.php?go=yourscript&active=".$token.">LINK</a></p>";
mail($email, "activation link", $content, $headers);
print"<div style='padding: 20px;'>
<p>check your email!</p>
</div>";
}
?>
在 yourscript.php 中只需获取一个令牌并更新您的数据库,将该电子邮件地址标记为活动地址。
就像是:
// some more code...
elseif($_GET["active"])
{
mysql_query("UPDATE Lorem SET active=1 WHERE token='$_GET[active]'");
if(mysql_affected_rows()==1)
{
print"success.";
}
else
{
print"error !.";
}
}
于 2013-07-23T16:09:27.173 回答