Discuz!官方免费开源建站系统

 找回密码
 立即注册
搜索

3.0手机短信注册功能--这个功能都想要,我就分享出来吧

[复制链接]
Lazybk 发表于 2013-3-14 13:10:00 | 显示全部楼层 |阅读模式
手机短信注册,很多人都想要,我就分享出我站代码吧。我是3.0的,界面
123.jpg
实现原理:用户填手机号码后,我就在后台生成一个邀请码,并把邀请码发到用户手机上。
实现方法:1、修改一个用户注册模板,2、增加一个生成和发送邀请码的页面。
注册页面就不发了,你们也不要到我网站上去测试,发短信有钱的:(
下面详细讲一下,生成和发送邀请码的页面:这个页面名叫yzm.php,放在根目录下:
  1. <?
  2. header ("Cache-Control: no-cache, must-revalidate");  
  3. header ("Pragma: no-cache");
  4. header("Content-Type: text/html;charset=gb2312");
  5. session_start();  
  6. $m=$_GET["m"];
  7. if($_SERVER["HTTP_REFERER"]!="http://www.xxxx.com/member.php?mod=zc"){//避免非法提交
  8. echo "来路非法";
  9. exit;
  10. }

  11. function sms($phone,$coent){//发送短信子程序
  12. $xml_data='mobile='.$phone.'&content='.$coent;
  13. $url ="http://www.sms.com";    //发送手机短信的接口,自己到淘宝上买一个吧,不贵
  14. $header = "Content-type: text/xml";
  15. $ch = curl_init();
  16. curl_setopt($ch, CURLOPT_URL, $url);  
  17. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  18. //curl_setopt($ch, CURLOPT_HTTPHEADER, $header);//设置HTTP头  
  19. curl_setopt($ch, CURLOPT_POST, 1);//设置为POST方式  
  20. curl_setopt($ch, CURLOPT_POSTFIELDS, $xml_data);//POST数据  
  21. $response = curl_exec($ch);//接收返回信息  
  22. //if(curl_errno($ch)){//出错则显示错误信息  
  23. //print curl_error($ch);  
  24. // }  
  25. curl_close($ch); //关闭curl链接
  26. return $response;
  27. }


  28. if (isset($_SESSION[$m])){
  29.         $t=time();
  30.         $yzm=$_SESSION[$m];
  31.         if (($_SESSION[$m."t"]-$t)<0){//60秒内不重复发送
  32.         $_SESSION[$m."t"]=$t+60;
  33.         sms($m,$yzm);
  34.         }

  35. }else{
  36.         include 'conn.php';
  37.         $sql="select max(id) from sb_common_invite";
  38.         $result = mysql_query($sql) or die($sql);
  39.         if ($row = mysql_fetch_array($result)){
  40.           $yzm=$row[0]+1;
  41.           $yzm=$yzm.rand(1000,9999);
  42.           $t=time();
  43.           $t2=time()+1000;
  44.           $sql="INSERT INTO sb_common_invite set uid=0,code='$yzm',dateline=$t,endtime=$t2,email='$m'";//把生成的邀请码写入数据库
  45.           mysql_query($sql) or die("出现错误!");
  46.           $_SESSION[$m]=$yzm;
  47.           $_SESSION[$m."t"]=time()+60;
  48.           sms($m,$yzm);//发送
  49.           }
  50.         mysql_close($con);

  51. }

  52. ?>
复制代码
模板文件,我就直接直接发附件了。模板文件放在/template/default/member/ 覆盖同名文件。 register.rar (3.47 KB, 下载次数: 231)


回复

使用道具 举报

石油人 发表于 2013-3-14 15:44:42 | 显示全部楼层
希望楼主的这个好用
回复

使用道具 举报

0512bbs 发表于 2013-3-14 18:01:31 | 显示全部楼层
多此一举,
回复

使用道具 举报

 楼主| Lazybk 发表于 2013-3-16 22:47:51 | 显示全部楼层
我还以为很多人需要呢...
其实我用了这个,言行贴就一个没有了,呵呵
回复

使用道具 举报

左手的爱 发表于 2013-3-17 08:40:25 | 显示全部楼层
接口怎么对接的  费用怎么说的 没看到啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|Discuz! 官方站 ( 皖ICP备16010102号 )star

GMT+8, 2025-9-13 05:01 , Processed in 0.119447 second(s), 17 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表