Jtti广告广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >php怎么实现发送验证码的功能
  • 186
分享到

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

php验证码 2021-10-31 02:10:09 186人浏览 猪猪侠
摘要

本文操作环境:windows7系统、PHP7.1版、DELL G3电脑php怎么实现发送验证码的功能?PHP实现发送短信验证码:一、html代码<li> <span>手机号码:</span> <in

本文操作环境: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代码


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


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

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

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

--结束END--

本文标题: php怎么实现发送验证码的功能

本文链接: https://www.lsjlt.com/news/428.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作