Heim > Backend-Entwicklung > PHP-Problem > So implementieren Sie die Funktion zum Senden eines Bestätigungscodes in PHP

So implementieren Sie die Funktion zum Senden eines Bestätigungscodes in PHP

藏色散人
Freigeben: 2023-03-13 14:50:01
Original
4748 Leute haben es durchsucht

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.

So implementieren Sie die Funktion zum Senden eines Bestätigungscodes in PHP

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>
Nach dem Login kopieren

2. JS-Code

/**
 * 发送验证码
 * @return {[type]} [description]
 */
function get_svg() {
var phone = $("input[name=&#39;telephone&#39;]").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(&#39;onclick&#39;, "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(&#39;onclick&#39;, "return get_svg();");
return;
}
time--;
$(".code_btn").text(time + "s");
 
}, 1000);
}
Nach dem Login kopieren

3. PHP-Code-Implementierung

Msm.php

/**
 * 发送短信
 * @author 
 * @return [type] [description]
 */
public function sendmsm()
{
$phone = input(&#39;phone&#39;);
 
if(!$phone){
return WPreturn(&#39;请输入手机号码!&#39;,-1);
}
 
$code = rand(1000,9999);
$_SESSION[&#39;code&#39;] = $code;
$res = sendmessage($code ,$phone);
if($res){
return WPreturn(&#39;发送成功&#39;,1);
}else{
return WPreturn(&#39;发送验证码失败!&#39;,-1);
}
}
 
/* *
* 类名:ChuanglanSmsApi
* 功能:创蓝短信接口请求类
* 详细:构造创蓝短信接口请求,获取远程HTTP数据
* 说明:
* 以下代码只是样例代码,使用第三方创蓝发送短信接口。
* 该代码仅供学习,只是提供一个参考。
*/
public function sendmessage($code, $telephone)
{
$conf = getconf(&#39;&#39;);
 
if(!$code){
return false;
}
 
if(!$telephone){
return false;
}
$content = "您的验证码是:{$code},如非本人操作,请忽略此短信。";
//创蓝接口参数
$postArr = array (
&#39;account&#39;  =>  $conf[&#39;msm_appkey&#39;],
&#39;password&#39; => $conf[&#39;msm_secretkey&#39;],
&#39;msg&#39; => urlencode($content),
&#39;phone&#39; => $telephone,
&#39;report&#39; => 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(
&#39;Content-Type: application/json; charset=utf-8&#39;   //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;
}
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage