1.编写前台表单页面
<form action="phoneDo" method="post">
<input type="text" name="phone">
<button type="submit">发送</button>
</form>
2.后台接收手机号并编写短信内容
public function phoneDo(){
//接受前台表单传来的电话号
$phone=input('phone');
//生成四位随机数 可以把四位随机数存入缓存,用于后期验证
$num=rand(1000,9999);
//编写短信内容
$content="【龍】你的验证码是:".$num.",3分钟内有效!";
//调用
$res=sendmsg($phone,$content);
//输出返回值
echo $res;
}
3.在application/commom.php中编写发送短信的代码
if(!function_exists('curl_request'))
{
//使用curl函数库发送请求
function curl_request($url, $post=true, $params=[], $https=true)
{
//初始化请求
$ch = curl_init($url);
//默认是get请求。如果是post请求 设置请求方式和请求参数
if($post){
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $params);
}
//如果是https协议,禁止从服务器验证本地证书
if($https){
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
}
//发送请求,获取返回结果
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
$res = curl_exec($ch);
/*if(!$res){
$msg = curl_error($ch);
dump($msg);die;
}*/
//关闭请求
curl_close($ch);
return $res;
}
}
if(!function_exists('sendmsg')){
//使用curl_request函数调用短信接口发送短信
function sendmsg($phone, $content)
{
//从配置中取出请求地址、appkey
$gateway = config('msg.gateway');
$appkey = config('msg.appkey');
//https://way.jd.com/chuangxin/dxjk?mobile=13568813957&content=【创信】你的验证码是:5873,3分钟内有效!&appkey=您申请的APPKEY
$url = $gateway . '?appkey=' . $appkey ."&content=".$content."&mobile=".$phone;
//get请求
$url .= '&mobile=' . $phone . '&content=' . $content;
$res = curl_request($url, false, [], true);
//处理结果
if(!$res){
return '请求发送失败';
}
//解析结果
$arr = json_decode($res, true);
if(isset($arr['code']) && $arr['code'] == 10000){
//短信接口调用成功
return '短信发送成功';
}else{
/*if(isset($arr['msg'])){
return $arr['msg'];
}*/
return '短信发送失败';
}
}
}
4.在application/config.php下新加配置
'msg' =>[
'gateway'=>'请求网址',
'appkey'=>'密钥'
]
请求网址与密钥的获取下方均有
注:此两处要保持一直
5.密钥获取方式:注册成功之后,点击箭头所指按钮,或跳出一个框,红色加粗部分便是密钥
6.网址的获取方式:箭头所指便是请求网址