1.第一步
    登陆阿里大于注册账号,在用户管理中心创建应用,确定AppKEY和App Secret还有配置签名
    php调用阿里大鱼短信验证 - 图1

    2.第二步
    在应用管理中选择SDK下载,或者直接点击http://download.csdn.net/detail/s371795639/9695983下载,免费的哦亲
    把下载好的资源解压放到ThinkPHP\Library\Vendor目录下如图
    php调用阿里大鱼短信验证 - 图2

    1. 第三步
    2. 可以写HTML
    3. <div class="form-group">
    4. <div class="field field-icon-right">
    5. <input type="text" id="admin" class="input" name="admin" placeholder="用户名" data-validate="required:请填写用户名,length#>=5:用户长度不符合要求" />
    6. <span class="icon icon-user"></span>
    7. </div>
    8. </div>
    9. <div class="form-group">
    10. <div class="field field-icon-right">
    11. <input id="mobile" type="tel" class="input" name="mobile" placeholder="手机号码" onblur="checkmobile(this)" />
    12. <span class="icon icon-mobile"></span>
    13. </div>
    14. </div>
    15. <span class="x4" style="text-align: center;vertical-align: middle">
    16. <button id="sendmsg">获取验证码</button>
    17. </span>
    18. 第四步
    19. 写入JQ代码(功能是,发送验证码后倒计时,并且POST传递后台,后台返回的数据0,1,2分别对应不同的功能)这段代码是参考别人的
    20. <script >
    21. /*-------------------------------------------*/
    22. var InterValObj; //timer变量,控制时间
    23. var count = 60; //间隔函数,1秒执行
    24. var curCount;//当前剩余秒数
    25. var code = ""; //验证码
    26. var codeLength = 6;//验证码长度
    27. $(function () {
    28. $('#sendmsg').click(function () {
    29. $.ajax({
    30. type: "POST",
    31. url: "/User/folder/child/obtainyzm",
    32. data: "admin=" + $('#admin').val()+"&mobile="+$("#mobile").val() ,
    33. success: function (result) {
    34. if(result==0){
    35. curCount = count;
    36. //设置button效果,开始计时
    37. $("#sendmsg").css("background-color", "LightSkyBlue");
    38. $("#sendmsg").attr("disabled", "true");
    39. $("#sendmsg").val("获取" + curCount + "秒");
    40. InterValObj = window.setInterval(SetRemainTime, 1000); //启动计时器,1秒执行一次
    41. // alert("验证码发送成功,请查收!");
    42. }
    43. if(result==1){
    44. alert("用户名和手机号不匹配!");
    45. }
    46. if(result==2){
    47. alert("用户名不存在!");
    48. }
    49. },
    50. dataType: 'json'
    51. })
    52. })
    53. })
    54. function SetRemainTime() {
    55. if (curCount == 0) {
    56. window.clearInterval(InterValObj);//停止计时器
    57. $("#sendmsg").removeAttr("disabled");//启用按钮
    58. $("#sendmsg").css("background-color", "");
    59. $("#sendmsg").val("重发验证码");
    60. code = ""; //清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
    61. }
    62. else {
    63. curCount--;
    64. $("#sendmsg").val("获取" + curCount + "秒");
    65. }
    66. }
    67. </script>
    68. 上面有两个参数adminmobile分别代表用户名和手机号码。
    69. 第五步
    70. 写入功能代码
    71. public function obtainyzm(){
    72. $mobile = $_POST['mobile'];//获取手机号码
    73. $admin =$_POST['admin'];//获取用户名
    74. $user = M('db_admin')->where(array('admin'=>$admin))->find();
    75. /************引入*************/
    76. Vendor('Alidayu.TopClient');
    77. Vendor('Alidayu.AlibabaAliqinFcSmsNumSendRequest');
    78. Vendor('Alidayu.ResultSet');
    79. Vendor('Alidayu.RequestCheckUtil');
    80. $c = new \Vendor\Alidayu\TopClient;
    81. $req = new \Vendor\Alidayu\AlibabaAliqinFcSmsNumSendRequest;
    82. /*************配置***************/
    83. $code = randCode(4);//随机验证码
    84. $c->appkey = '23******';
    85. $c->secretKey = '6f73a******************';
    86. $req->setSmsType("normal");
    87. $req->setSmsFreeSignName("xx的测试");
    88. $req->setSmsParam("{code:'$code'}");
    89. $req->setRecNum("$mobile");
    90. $req->setSmsTemplateCode("SMS_3******");
    91. if($user)
    92. {
    93. if($user['mobile'] == $mobile)
    94. {
    95. /*************发送验证码短信,并把验证码作为新密码保存到服务器上***************/
    96. //$c->execute($req); //不要开启,开启后就会有短信到账,一次几分钱..在服务器上看新密码就好
    97. $newpwd['pwd'] = md5($code);
    98. D('db_admin')->where(array('admin'=>$user['admin']))->save($newpwd);
    99. $this->ajaxreturn(0);//用户名密码匹配
    100. }
    101. else
    102. {
    103. $this->ajaxreturn(1);//用户名和手机号不匹配
    104. }
    105. }
    106. else
    107. {
    108. $this->ajaxreturn(2); //用户名不存在
    109. }
    110. $this->display();
    111. }//获取验证码