阿里短信验证 PHP
基于PHP阿里短信验证以及60秒短信倒计时操作
HTML代码
<input class="form-control" type="text" name="tel" id="tel" placeholder="输入手机手机号码"> <p></p>
<button type="button" class="btn btn-primary btn-sm btn-success" id="button" mark="1">获取验证码</button>‘
js发送按钮倒计时
var countdown=60;
function settime(obj) {
if (countdown == 0) {
$(obj).attr("disabled",false);
$(obj).attr("mark","1");
$(obj).html("获取验证码");
countdown = 60;
return;
} else {
$(obj).attr("disabled", true);
$(obj).attr("mark","0");
$(obj).html("重新发送(" + countdown + ")");
countdown--;
}
setTimeout(function() {
settime(obj) }
,1000)
}
PHP发起短信验证请求(先下载阿里的demo放置在extend文件夹下面)
public function do_tel()
{
$data = Request::instance()->param();
$tel = trim($data['tel']);
$code = $this->random();
Loader::import('alimsg.api_demo.SmsDemo',EXTEND_PATH);
$msg = new \SmsDemo('LTAIucUR5QgQtxfr','P33J4pcr1qfHyuhr9Y359Myvn9RvrH');
$res = $msg->sendSms(
//短信签名名称
" ",//此处填写你在阿里云平台配置的短信签名名称(第二步有说明)
//短信模板code
" ",//此处填写你在阿里云平台配置的短信模板code(第二步有说明)
//短信接收者的手机号码
" $tel",
//模板信息
Array(
'code' => $code,//随机变化的
)
);
$result['res'] = $res;
$result['code'] = $code;
echo json_encode($result);
}
//生成所发送的验证码并返回
public function random()
{
$length = 6;
$char = '0123456789';
$code = '';
while(strlen($code) < $length){
//截取字符串长度
$code .= substr($char,(mt_rand()%strlen($char)),1);
}
return $code;
}