So implementieren Sie die Bestätigungscode-Funktion in PHP: 1. Erstellen Sie HTML- und JS-Dateien. 2. Erstellen Sie die Datei „Msm.php“ mit dem Inhalt „öffentliche Funktion sendmsm(){...}“. Eine HTTP-Anfrage reicht aus.
Die Betriebsumgebung dieses Artikels: Windows 7-System, PHP-Version 7.1, DELL G3-Computer
Wie implementiert PHP die Funktion zum Senden von Bestätigungscodes?
PHP implementiert das Senden von SMS-Bestätigungscodes:
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-Code-Implementierung
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; }
Empfohlenes Lernen: „PHP Video Tutorial“
Das obige ist der detaillierte Inhalt vonSo implementieren Sie die Funktion zum Senden eines Bestätigungscodes in PHP. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!