- ubuntu12.04环境下使用kvm ioctl接口实现最简单的虚拟机
- Ubuntu 通过无线网络安装Ubuntu Server启动系统后连接无线网络的方法
- 在Ubuntu上搭建网桥的方法
- ubuntu 虚拟机上网方式及相关配置详解
CFSDN坚持开源创造价值,我们致力于搭建一个资源共享平台,让每一个IT人在这里找到属于你的精彩世界.
这篇CFSDN的博客文章PHP实现阿里大鱼短信验证的实例代码由作者收集整理,如果你对这篇文章有兴趣,记得点赞哟.
最近想实现php实现短信验证的效果,做pc网站的时候,可以通过注册用户需要使用短信验证的功能,或者找回密码,以及验证用户的信息等等功能,发现了阿里大鱼。留个笔记 。
第一步 。
登陆阿里大于注册账号,在用户管理中心创建应用,确定appkey和app secret还有配置签名 。
第二步 。
在应用管理中选择sdk下载,免费的哦亲 。
把下载好的资源解压放到thinkphp\library\vendor目录下如图 。
并不是所有的php文件都需要,就用如图所示alidayu文件夹下那几个php文件,把alidayu里面的php文件分别打开,在开始的一行添加代码(如果你下载的来自我发的链接,那就没必要添加这个代码了,因为我添加过了) 。
1
|
namespace
vendor\alidayu;
|
目的是为了在调用的时候不至于引入失败 。
第三步 。
可以写html了 。
1
2
3
4
5
6
|
<div
class
=
"form-group"
>
<div
class
=
"field field-icon-right"
>
<input type=
"text"
id=
"admin"
class
=
"input"
name=
"admin"
placeholder=
"用户名"
data-validate=
"required:请填写用户名,length#>=5:用户长度不符合要求"
/>
<span
class
=
"icon icon-user"
></span>
</div>
</div>
|
1
2
3
4
5
6
|
<div
class
=
"form-group"
>
<div
class
=
"field field-icon-right"
>
<input id=
"mobile"
type=
"tel"
class
=
"input"
name=
"mobile"
placeholder=
"手机号码"
onblur=
"checkmobile(this)"
/>
<span
class
=
"icon icon-mobile"
></span>
</div>
</div>
|
1
|
<button id=
"sendmsg"
>获取验证码</button>
|
第四步 。
写入jq代码(功能是,发送验证码后倒计时,并且post传递后台,后台返回的数据0,1,2分别对应不同的功能)这段代码是参考别人的 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
|
<script >
/*-------------------------------------------*/
var
intervalobj;
//timer变量,控制时间
var
count
= 60;
//间隔函数,1秒执行
var
curcount;
//当前剩余秒数
var
code =
""
;
//验证码
var
codelength = 6;
//验证码长度
$(
function
() {
$(
'#sendmsg'
).click(
function
() {
$.ajax({
type:
"post"
,
url:
"/user/folder/child/obtainyzm"
,
data:
"admin="
+ $(
'#admin'
).val()+
"&mobile="
+$(
"#mobile"
).val() ,
success:
function
(result) {
if
(result==0){
curcount =
count
;
//设置button效果,开始计时
$(
"#sendmsg"
).css(
"background-color"
,
"lightskyblue"
);
$(
"#sendmsg"
).attr(
"disabled"
,
"true"
);
$(
"#sendmsg"
).val(
"获取"
+ curcount +
"秒"
);
intervalobj = window.setinterval(setremaintime, 1000);
//启动计时器,1秒执行一次
// alert("验证码发送成功,请查收!");
}
if
(result==1){
alert(
"用户名和手机号不匹配!"
);
}
if
(result==2){
alert(
"用户名不存在!"
);
}
},
datatype:
'json'
})
})
})
function
setremaintime() {
if
(curcount == 0) {
window.clearinterval(intervalobj);
//停止计时器
$(
"#sendmsg"
).removeattr(
"disabled"
);
//启用按钮
$(
"#sendmsg"
).css(
"background-color"
,
""
);
$(
"#sendmsg"
).val(
"重发验证码"
);
code =
""
;
//清除验证码。如果不清除,过时间后,输入收到的验证码依然有效
}
else
{
curcount--;
$(
"#sendmsg"
).val(
"获取"
+ curcount +
"秒"
);
}
}
</script>
|
上面有两个参数admin和mobile分别代表用户名和手机号码.
第五步 。
写入功能代码 。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
public
function
obtainyzm(){
$mobile
=
$_post
[
'mobile'
];
//获取手机号码
$admin
=
$_post
[
'admin'
];
//获取用户名
$user
= m(
'db_admin'
)->where(
array
(
'admin'
=>
$admin
))->find();
/************引入*************/
vendor(
'alidayu.topclient'
);
vendor(
'alidayu.alibabaaliqinfcsmsnumsendrequest'
);
vendor(
'alidayu.resultset'
);
vendor(
'alidayu.requestcheckutil'
);
$c
=
new
\vendor\alidayu\topclient;
$req
=
new
\vendor\alidayu\alibabaaliqinfcsmsnumsendrequest;
/*************配置***************/
$code
= randcode(4);
//随机验证码
$c
->appkey =
'23******'
;
$c
->secretkey =
'6f73a******************'
;
$req
->setsmstype(
"normal"
);
$req
->setsmsfreesignname(
"xx的测试"
);
$req
->setsmsparam(
"{code:'$code'}"
);
$req
->setrecnum(
"$mobile"
);
$req
->setsmstemplatecode(
"sms_3******"
);
if
(
$user
)
{
if
(
$user
[
'mobile'
] ==
$mobile
)
{
/*************发送验证码短信,并把验证码作为新密码保存到服务器上***************/
//$c->execute($req); //不要开启,开启后就会有短信到账,一次几分钱..在服务器上看新密码就好
$newpwd
[
'pwd'
] = md5(
$code
);
d(
'db_admin'
)->where(
array
(
'admin'
=>
$user
[
'admin'
]))->save(
$newpwd
);
$this
->ajaxreturn(0);
//用户名密码匹配
}
else
{
$this
->ajaxreturn(1);
//用户名和手机号不匹配
}
}
else
{
$this
->ajaxreturn(2);
//用户名不存在
}
$this
->display();
}
//获取验证码
|
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我.
原文链接:http://blog.csdn.net/s371795639/article/details/53381274 。
最后此篇关于PHP实现阿里大鱼短信验证的实例代码的文章就讲到这里了,如果你想了解更多关于PHP实现阿里大鱼短信验证的实例代码的内容请搜索CFSDN的文章或继续浏览相关文章,希望大家以后支持我的博客! 。
阿里、华为、腾讯java技术面试题精选,具体内容如下 jvm的类加载机制是什么?有哪些实现方式? 类加载机制: 类的加载指的是将类的.class文件中的二进制数据读入到内存中,将其放在运行时数
我是一名优秀的程序员,十分优秀!