1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > PHP实现发送短信验证码

PHP实现发送短信验证码

时间:2023-04-15 19:02:58

相关推荐

PHP实现发送短信验证码

一、html代码

<li><span>手机号码:</span><input type="text" placeholder="手机号码" name="telephone"></li><li><span>验证码:</span><input type="text" placeholder="短信验证码" name="phonecode"><span class="code_btn" onclick ="return get_svg();">获取验证码</span></li>

二、js代码

/*** 发送验证码* @return {[type]} [description]*/function get_svg() {var phone = $("input[name='telephone']").val();if (!(/^1[34578]\d{9}$/.test(phone))) {layer.msg("请正确输入手机号!");return false;}var url = "/msm/sendmsm/phone/" + phone;$.get(url, function (resdata) {console.log(resdata);layer.msg(resdata.data);if (resdata.type == 1) {$(".code_btn").attr('onclick', "return false;");listion_sendmsm();}})return false;}function listion_sendmsm() {var time = 61;setTime = setInterval(function () {if (time <= 1) {clearInterval(setTime);$(".code_btn").text("再发一次");$(".code_btn").attr('onclick', "return get_svg();");return;}time--;$(".code_btn").text(time + "s");}, 1000);}

三、PHP代码实现

Msm.php

/*** 发送短信* @author * @return [type] [description]*/public function sendmsm(){$phone = input('phone');if(!$phone){return WPreturn('请输入手机号码!',-1);}$code = rand(1000,9999);$_SESSION['code'] = $code;$res = sendmessage($code ,$phone);if($res){return WPreturn('发送成功',1);}else{return WPreturn('发送验证码失败!',-1);}}/* ** 类名:ChuanglanSmsApi* 功能:创蓝短信接口请求类* 详细:构造创蓝短信接口请求,获取远程HTTP数据* 说明:* 以下代码只是样例代码,使用第三方创蓝发送短信接口。* 该代码仅供学习,只是提供一个参考。*/public function sendmessage($code, $telephone){$conf = getconf('');if(!$code){return false;}if(!$telephone){return false;}$content = "您的验证码是:{$code},如非本人操作,请忽略此短信。";//创蓝接口参数$postArr = array ('account' => $conf['msm_appkey'],'password' => $conf['msm_secretkey'],'msg' => urlencode($content),'phone' => $telephone,'report' => true);$result = $this->curlPost("/msg/send/json", $postArr);$json = json_decode($result);if($json -> code != 0){return false;}else{return true;}}/*** 通过CURL发送HTTP请求* @param string $url //请求URL* @param array $postFields //请求参数 * @return mixed* */private function curlPost($url,$postFields){$postFields = json_encode($postFields);$ch = curl_init ();curl_setopt( $ch, CURLOPT_URL, $url ); curl_setopt( $ch, CURLOPT_HTTPHEADER, array('Content-Type: application/json; charset=utf-8' //json版本需要填写 Content-Type: application/json;));curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4); curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );curl_setopt( $ch, CURLOPT_POST, 1 );curl_setopt( $ch, CURLOPT_POSTFIELDS, $postFields);curl_setopt( $ch, CURLOPT_TIMEOUT,60); curl_setopt( $ch, CURLOPT_SSL_VERIFYHOST, 0);curl_setopt( $ch, CURLOPT_SSL_VERIFYPEER, 0);$ret = curl_exec ( $ch );if (false == $ret) {$result = curl_error( $ch);} else {$rsp = curl_getinfo( $ch, CURLINFO_HTTP_CODE);if (200 != $rsp) {$result = "请求状态 ". $rsp . " " . curl_error($ch);} else {$result = $ret;}}curl_close ( $ch );return $result;}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。