PHP에서 확인 코드 기능을 구현하는 방법: 1. HTML 및 js 파일을 생성합니다. 2. "public function sendmsm(){...}" 콘텐츠로 "Msm.php" 파일을 생성합니다. HTTP 요청이면 충분합니다.
이 기사의 운영 환경: Windows 7 시스템, PHP 버전 7.1, DELL G3 컴퓨터
PHP는 인증 코드 전송 기능을 어떻게 구현합니까?
PHP는 SMS 인증 코드 전송을 구현합니다.
1. html Code
<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>
2.js code
/** * 发送验证码 * @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); }
3. 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("http://smssh1.253.com/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; }
추천 학습: "PHP 비디오 튜토리얼"
위 내용은 PHP에서 인증번호 전송 기능을 구현하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!