-2

我有一个网站,人们可以在其中下载某些软件的试用版。他们必须输入他们的电子邮件地址,但只要有“@”和 .com/.co.uk 等,就可以输入任何内容。因为我想使用这些地址发送有关完整信息的信息产品,我正在尝试找到一种方法,在新用户下载软件之前向他们发送验证电子邮件。(这样我就知道电子邮件是有效的)我已经在谷歌上搜索了很长时间,但找不到任何可以帮助我的东西。有没有人有什么建议?提前感谢您的帮助。

4

1 回答 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 回答