搜索
首页后端开发PHP问题php怎么实现发送验证码的功能

php怎么实现发送验证码的功能

Oct 28, 2021 am 11:43 AM
php验证码

php实现发送验证码功能的方法:1、创建好HTML和js文件;2、创建“Msm.php”文件,内容为“public function sendmsm(){...}”;3、通过CURL发送HTTP请求即可。

php怎么实现发送验证码的功能

本文操作环境:Windows7系统、PHP7.1版、DELL G3电脑

php怎么实现发送验证码的功能?

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=&#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);
}

三、PHP代码实现

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;
}

推荐学习:《PHP视频教程

以上是php怎么实现发送验证码的功能的详细内容。更多信息请关注PHP中文网其他相关文章!

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

DVWA

DVWA

Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

适用于 Eclipse 的 SAP NetWeaver 服务器适配器

将Eclipse与SAP NetWeaver应用服务器集成。

VSCode Windows 64位 下载

VSCode Windows 64位 下载

微软推出的免费、功能强大的一款IDE编辑器