欢迎来到六久阁织梦模板网!
dedecms织梦短信接口插件代码(微米短信平台)

dedecms织梦短信接口插件代码(微米短信平台)

浏览次数: 0

作者: 六久阁织梦模板网

信息来源: 六久阁

更新日期: 2017-08-31

文章简介

本教程织梦短信接口插件代码基于微米短信平台( www.weimi.cc )的一个织梦短信接口。六久阁分享给大家。 具体代码 1 、存储验证码到数据库,需要新建建一个数据表。 后台 ---- 系统 ---- sql 命令行工具,运行以下代码:(注意表前缀) DROPTABLEIFEXISTS`d

  • 正文开始
  • 热门文章

本教程织梦短信接口插件代码基于微米短信平台(www.weimi.cc)的一个织梦短信接口。六久阁分享给大家。

dedecms织梦短信接口插件代码(微米短信平台)

具体代码


1、存储验证码到数据库,需要新建建一个数据表。 后台 ---- 系统 ---- sql命令行工具,运行以下代码:(注意表前缀)

  DROP TABLE IF EXISTS `dede_sms`; 
    CREATE TABLE `dede_sms` ( 
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT, 
      `phone` varchar(15) NOT NULL DEFAULT '', 
      `code` varchar(8) NOT NULL DEFAULT '', 
      `created_at` int(10) NOT NULL DEFAULT '0', 
      `expire_at` int(10) NOT NULL DEFAULT '0', 
      PRIMARY KEY (`id`) 
    ) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;

 

2、新建 WMsendSms.PHP 文件,放在 /include 目录下。具体代码如下:

<?php 
    if(!defined('DEDEINC')) exit('Request Error!'); 
     
    //发送短信 
    //$cid 短信模板CID 
    function sendSms($mob,$cid = '微米短信模板查看CID') 
    { 
        $res = validatePremise($mob); 
        if($res){ 
            $ch = curl_init(); 
            curl_setopt($ch, CURLOPT_URL, "http://api.weimi.cc/2/sms/send.html"); 
            curl_setopt($ch, CURLOPT_RETURNTRANSFER, TRUE); 
            curl_setopt($ch, CURLOPT_POST, TRUE); 
            /*
            传入模板参数。短信模板内容示例: 
                【微米】您的验证码是:%P%,%P%分钟内有效。如非您本人操作,可忽略本消息。 
                传入两个参数: 
                p1:610912
                p2:3
                最终发送内容: 
                【微米】您的验证码是:610912,3分钟内有效。如非您本人操作,可忽略本消息。 
            */ 
            $uid = '微米查看去'; 
            $pas = '微米查看去'; 
            $p1 = createRandomCoder(4); 
            $p2 = 5; //分钟 
            curl_setopt($ch, CURLOPT_POSTFIELDS, "uid=$uid&pas=$pas&mob=$mob&cid=$cid&p1=$p1&p2=$p2&type=json"); 
            $res = curl_exec( $ch ); 
            curl_close( $ch ); 
            $arr = json_decode($res,true); 
            if($arr['code'] == 0){ 
                saveCode($mob,$p1); 
                return "短信发送成功!"; 
            } 
            return "短信发送失败!"; 
        }else{ 
            return "短信发送频繁,请稍后再发送!"; 
        } 
    } 
     
    //生成随机字符串  
    //$len  要生成的随机字符串长度 
    //$type 随机码类型:0,数字+大小写字母;1,数字;2,小写字母;3,大写字母;4,特殊字符;-1,数字+大小写字母+特殊字符 
    function createRandomCoder($len,$type = '0')     
    { 
        $arr = array(1 => "0123456789", 2 => "abcdefghijklmnopqrstuvwxyz", 3 => "ABCDEFGHIJKLMNOPQRSTUVWXYZ", 4 => "~@#$%^&*(){}[]|"); 
        if ($type == 0) { 
            array_pop($arr); 
            $string = implode("", $arr); 
        } elseif ($type == "-1") { 
            $string = implode("", $arr); 
        } else { 
            $string = $arr[$type]; 
        } 
        $count = strlen($string) - 1; 
        $code = ''; 
        for ($i = 0; $i < $len; $i++) { 
            $code .= $string[rand(0, $count)]; 
        } 
        return $code; 
    } 
     
    //保存验证码 
    function saveCode($phone,$code,$time = 5) 
    { 
        global $dsql; 
        $created_at = time(); 
        $expire_at = time() + ($time * 60); 
        $code = strtolower($code); 
        $sql = "INSERT INTO `dede_sms`(`phone`,`code`,`created_at`,`expire_at`) VALUES ('$phone','$code','$created_at','$expire_at')"; 
        return $dsql->ExecuteNoneQuery($sql); 
    } 
     
    //检查手机号,验证码 
    function validateCode($phone,$code) 
    { 
        global $dsql; 
        $code = strtolower($code); 
        $current = time(); 
        $sql = "SELECT `id` FROM `dede_sms` WHERE `phone` LIKE '$phone' AND `code` LIKE '$code' AND `expire_at` > '$current' "; 
        $row = $dsql->GetOne($sql); 
        if(is_array($row)){ 
            return true; 
        }else{ 
            return false; 
        } 
    } 
     
    //检查是否发送:防止恶意刷短信 
    //$phone 手机号 www.lol9.cn织梦模板下载
    //$time  有效时间 (分钟) 
    function validatePremise($phone,$time = '1') 
    { 
        global $dsql; 
        $row = $dsql->GetOne("SELECT `id`,`expire_at` FROM `dede_sms` WHERE `phone` LIKE '$phone' "); 
        if(is_array($row)){ 
            if( time() < $row['expire_at'] ){ 
                return false; 
            }else{ 
                $dsql->ExecuteNoneQuery("DELETE FROM `dede_sms` WHERE id=".$row['id']); 
            } 
        } 
        return true; 
    }

 

提示:表的前缀改为你的表前缀,这样就完成了织梦短信接口。


织梦二次开发QQ群

本站客服QQ号:862782808(点击左边QQ号交流),群号(383578617) DedeCMS织梦教程QQ群 如果您有任何织梦问题,请把问题发到群里,阁主将为您写解决教程!

转载请注明: 织梦模板 » dedecms织梦短信接口插件代码(微米短信平台)

  • 织梦dedecms手机站m目录下不生成index.html实现动态更新
    阅读
    用 织梦建站 会手机站首页不更新的苦恼,每次 PC 更新,要去删除 m 目录下的 index.html ,手机站首页才会更新,这样很麻烦,通过以下修改,让手机站首页是动态的,不生成 index.html , PC 端更新后,手机端首页自动更新。 把 \m\index.php 里面的 $row[sho...
  • 织梦Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201的解决方法
    阅读
    织梦系统安装好后,进入后台,出现Fatal error: Call to undefined function make_hash() in /dede/sys_info.php on line 201 一般出现这个问题是因为升级网站引起的。我们可以直接把错误提示这段代码删除或者屏蔽就行了。 打开/dede/sys_info.php,找到201...
  • 织梦Dedecms 5.7 火车头采集免登陆发布接口适配PHP7.X插件
    阅读
    最近有粉丝说,之前用的火车头发布文章时,用免登陆接口在PHP7.0环境中显示空白,于是今天抽空更新了一下插件(话说,DedeCms早期版本无法在PHP7.X运行,用最新版的!),那么接下来的代码就是插件发布模块无须变更,只需要变更接口插件就可以了 ?php/*/////...
  • 织梦dedecms提交自定义表单后发送到指定邮箱
    阅读
    网上很多教程都是用 dedecms 自带的邮件库发送邮件,而且是写死要发送的字段内容,今天我们用 phpmailer 来给站长发送自定义表单提交的数据到指定邮箱上 (QQ 邮箱, 163 邮箱都可以 ) ,不写死任何东西,有什么字段就提交发送什么字段。 操作之前,我们要先...
  • 织梦dedecms系统多城市分站功能开发思路
    阅读
    当前很多人用织梦dedecms系统建站,多城市分站对地方性长尾关键词和全国市场的推广有着很大的帮助,今天和大家分享下如何实现织梦dedecms系统多城市分站功能。 方法/步骤 织梦dede城市分站有三种方法: 第一种是建立N多个模板,有多少个城市建立多少个模板,...
  • 织梦dedecms网站添加打赏功能
    阅读
    有时我们看到别人家的织梦dedecms网站有打赏功能,是不是羡慕嫉妒恨呢?今天我来给大家讲讲织梦网站怎么添加支付宝、微信打赏功能。 二、首先登陆畅言后台(没有畅言账号的首先注册账号) 三、进入后台,找到实验室--打赏 四、设置配置信息,保存。 五、复制...
  • dedecms织梦ckplayer视频播放器插件详细安装教程
    阅读
    织梦 ckplayer 视频播放器插件安装步骤: 第一步、下载安装插件。下载地址:点击此处 将下载下来的压缩包中的相应编码的模块文件解压出来再上传到织梦程序的 data/module/ 文件夹内或者直接在后台模块管理菜单里面选择上传新模块安装即可。如下图: 1.1 )上...
  • 织梦火车头采集免登陆接口采集文章后自动更新栏目、首页、文章页,实现自动化采集
    阅读
    最近用织梦dedecms程序采集文章时候,发现每次采集都要去后台更新一下文章、栏目、上下篇以及首页,操作起来真心麻烦,后面在网上收集了一些代码以及经过自己调试,发现居然可以自动更新文章页以及栏目、首页。真心爽,这样子就能稳稳的挂机采集了哈。这是免...
  • 织梦获取当前栏目id并判断使当前导航栏目高亮
    阅读
    织梦导航栏目高亮代码如下: {dede:field name=typeid runphp=yes} if(@me==8) @me=1; else @me=0; {/dede:field} 导航的写法, 比如:lia href={dede:type typeid=7}[field:typelink /]{/dede:type} {dede:field name=typeid runphp=yes} if(@me==7) @me=cl...
  • 织梦手机站下一篇变上一篇而且还出错Request Error!
    阅读
    最新的织梦dedecms程序手机版下一篇变上一篇而且还出错Request Error!,这是因为官方写错了一个地方 打开 /include/arc.archives.class.php 找到 $mlink = view.php?aid=.$preRow[id]; 注意:这个文件里面有2个上面的代码,真正要改的是大概在 839 行 改成 $...
收藏此文 打赏本站

如本文对您有帮助,就请六久阁织梦模板网抽根烟吧!

  • 支付宝打赏
    支付宝扫描打赏
    微信打赏
    微信扫描打赏
dedecms织梦文章标题title长度修改方法
« 上一篇 2017年09月01日
织梦dedecms频道管理员信息管理员访问自定义表单的设置
下一篇 » 2017年08月31日

精彩评论

有问题在这里提问,阁主会为你解决!
  • 全部评论(0
    还没有评论,快来抢沙发吧!
推荐织梦插件更多
更新时间:2020-01-07

人已经看过了!

更新时间:2018-11-11

人已经看过了!

更新时间:2017-09-11

人已经看过了!

更新时间:2019-11-29

人已经看过了!

更新时间:2019-07-25

人已经看过了!

更新时间:2019-07-11

人已经看过了!