php168 邮箱激活改为手机激活的实现方法 意思就是让会员注册后进入手机短信激活界面, 先输入手机号码,点击提交后会收到一个短信(内容是验证码),然后在手机短信激活界面输入正确的验证码才可激活。 当然了,前提是你已经设置好相关的手机短信接口资料配置,否则一切也是白搭。 先看一下手机短信的接口资料配置,如下图: 修改do/activate.php 的代码为: <?php require(dirname(__FILE__)."/"."global.php");
if($action=='send') { $rs=$userDB->get_allInfo($atc_username,'name'); if(!$rs){ showerr("帐号不存在!"); }elseif($rs[yz]){ showerr("当前帐号已激活!"); }elseif(!$atc_mobphone){ showerr("请输入手机号码!"); } if( !ereg("^1(3|5|8)[0-9]{9}$",$atc_mobphone) ){ showerr("号码不符合规则"); } if(!$webdb[mymd5]) { $webdb[mymd5]=rands(10); $db->query("REPLACE INTO {$pre}config (`c_key`,`c_value`) VALUES ('mymd5','$webdb[mymd5]')"); write_file(PHP168_PATH."php168/config.php","$webdb['mymd5']='$webdb[mymd5]';",'a'); } $md5_id=mymd5("{$rs[username]} {$rs[password]}"); $Title="你好,这是来自“{$webdb[webname]}”的注册验证码:{$md5_id}"; if( sms_send($atc_mobphone,$Title )===1 ){ refreshto("./","系统已经成功发送验证码到:“{$atc_mobphone}”,请注意查收!",5); }else{ showerr("短信发送失败,请检查短信接口,是否帐号有误,或者是余额不足!"); } } elseif($job=='activate') { $rs=$userDB->get_allInfo($atc_username,'name'); $md5_id=mymd5("{$rs[username]} {$rs[password]}"); if(!$atc_md5id){ showerr("请输入验证码 $md5_id !"); } if($atc_md5id!=$md5_id){ showerr("请输入正确的验证码!"); } list($username,$password)=explode(" ",mymd5($md5_id,'DE')); $rs=$userDB->get_allInfo($username,'name');
if($rs&&$rs[password]==$password) { $db->query("UPDATE {$pre}memberdata SET `yz`='1' WHERE uid='$rs[uid]'"); refreshto("login.php","恭喜你,帐号“{$username}”激活成功,请立即登录体验会员特有的功能!",10); } else { showerr("帐号激活失败!"); } }
if($username){ $rs=$userDB->get_allInfo($username,'name'); $mobphone=$rs[mobphone]; } require(PHP168_PATH."inc/head.php"); require(html("activate")); require(PHP168_PATH."inc/foot.php"); ?>
然后修改template/default/activate.htm 的代码为: <!-- <?php print <<<EOT --> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" class="MainTable"> <tr> <td height="393" valign="top" class="Main"> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" class="dragTable" style="display:$hide_listpic"> <form name="form1" method="post" action="?action=send"> <tr> <td class="head"> <h3 class="L"></h3> <span class="TAG">发送激活验证码</span> <h3 class="R"></h3> </td> </tr> <tr> <td class="middle" align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" height="62">要激活的帐号是: <input type="text" name="atc_username" value="$username"> <br> 请输入手机号码: <input type="text" name="atc_mobphone" value="$mobphone"> <br> <br> <input type="submit" name="Submit" value="提交" class="button"> </td> </tr> </table> </td> </tr> <tr> <td class="foot"> <h3 class="L"></h3> <h3 class="R"></h3> </td> </tr> </form> </table> <table width="100%" border="0" cellspacing="0" cellpadding="0" align="center" class="dragTable" style="display:$hide_listpic"> <form name="form2" method="post" action="?job=activate"> <tr> <td class="head"> <h3 class="L"></h3> <span class="TAG">激活帐号</span> <h3 class="R"></h3> </td> </tr> <tr> <td class="middle" align="center"> <table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td align="center" height="62"> 要激活的帐号是: <input type="text" name="atc_username" value="$username"> <br> 请输入验证码: <input type="text" name="atc_md5id" value=""> <br> <input type="submit" name="Submit2" value="提交" class="button"> </td> </tr>
</table> </td> </tr> <tr> <td class="foot"> <h3 class="L"></h3> <h3 class="R"></h3> </td> </tr> </form> </table>
</td> </tr> </table> <!-- EOT; ?> --> (编辑:PHP编程网 - 黄冈站长网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|