本日benny要跟大家说这个实在很大略,便是借用某一个平台的短信api接口实现短信验证,说大略呢,那是由于他的官网:http://www.ucpaas.com上有开拓文档,它可以教会一个小白很快的利用它的接口,并开拓自己的运用。
这个官网还算人性化的,由于你一注册,就给了你10块钱的测试用度来考试测验利用它的api,你要知道一条短信0.055元,10块钱给你拿来学习测试已经够多啦!

首先,你进入官网,注册,然后你就点击开拓文档:

这里有详细的先容你怎么用它的东西,我就不在这里bb啦,看完后我们就直接下载一个php的demo文件来试试!

php实现短信验证码php实现登录短信验证 AJAX

下载后,你就可以看到一个封装的类Ucpaas.class.php和一个index.php的文件:

上面的注释有详细的阐明,要用到的参数啥的,你注册了账号后也就自然有了,多看几遍,有点根本的人几分钟内就可以看得懂的啦!

接着,你就开始阅读官网下面孔录的内容:

这里有详细的先容,我就只是做一个勾引吧,详细的大家去阅读哦。

末了,我把这个短信验证功能在我的项目上实现了,你可以看下我的代码截图:

<?php

//载入ucpass类

require('library/Db.class.php');

require_once('library/Ucpaas.class.php');

//初始化必填

$options['accountsid']='';(这个不能给大家看哦)

$options['token']='';(这个不能给大家看哦)

//初始化 $options必填

$ucpass = new Ucpaas($options);

//开拓者账号信息查询默认为json或xml

header(\公众Content-Type:text/html;charset=utf-8\公众);

//短信验证码(模板短信),默认以65个汉字(同65个英文)为一条(可容纳字数受您运用名称占用字符影响),超过长度短信平台将会自动分割为多条发送。
分割后的多条短信将按照详细占用条数计费。

// 验证码短信:同一个手机号1分钟内不能超过2条,24小时内不能超过8条

$appId = \"大众\"大众;(这个不能给大家看哦)

$to=$_POST['to'];

$templateId = \公众244286\"大众;

$string='';

for ($i=0; $i <4 ; $i++) {

$string.=rand(0,9);

}

$param=$string;

$db = new DB();

$sql =\"大众select from mr_user where username = :username\"大众;

$user = $db->row($sql,array('username' =>$to));

//用户名存在

$id=$user['id'];

if ($user){

$password=md5($param);

$update_sql = \"大众update mr_user set password ='$password' where id='$id'\"大众;

$result_id = $db->query($update_sql);

if ($result_id){

$data=$ucpass->templateSMS($appId,$to,$templateId,$param);

$re='';

$arr = json_decode($data,true);

foreach ($arr as $key => $value) {

if ($key=='resp') {

foreach ($value as $key2 => $value2) {

if ($key2=='respCode') {

$re=$value2;

}

}

}

}

if ($re=='000000') {

echo 1;//短信已发送!

}elseif ($re=='105147') {

echo 3;//短信发送太频繁

}else{

echo 2;//号码输入有误

}

exit(0);

}

else{

echo 0;//短信发送出错!

}

}else {

$data=$ucpass->templateSMS($appId,$to,$templateId,$param);

$re='';

$arr = json_decode($data,true);

foreach ($arr as $key => $value) {

if ($key=='resp') {

foreach ($value as $key2 => $value2) {

if ($key2=='respCode') {

$re=$value2;

}

}

}

}

if ($re=='000000') {

$addtime = time();

$insert_sql = \"大众insert into mr_user(username,password,addtime) value(:username,:password,$addtime)\公众;

$result_id = $db->query($insert_sql,array('username' =>$to,'password'=>md5($param)));

if ($result_id){

echo 1;//短信已发送!

}else{

echo 0;//短信发送出错!

}

}elseif($re='105147'){

echo 3;//短信发送太频繁

}else{

echo 2;//号码输入有误

}

}

图|来源截图

不当你的天下 只作你的肩膀

Benny

技能帖