1.手机验证码登录

  /*** 短信宝 获取验证码*/public function login(Request $request){$tel=$request->get('phoneNum');//限制手机号请求次数
//        Cache::put($tel,0);die;if (Cache::has($tel)){$num=Cache::get($tel);}else{$num=Cache::put($tel,0);}if ($num>30){return $this->getJsonData(10010,'一天只能请求30次',null);}$smsapi = $this->smsapi;$user = $this->user; //短信平台帐号$pass = md5($this->pass); //短信平台密码$rand=rand(1000,9999);$content="【八维】:您的验证码:".$rand;//要发送的短信内容$phone = $tel;//要发送短信的手机号码$sendurl = $smsapi."sms?u=".$user."&p=".$pass."&m=".$phone."&c=".urlencode($content);$result =file_get_contents($sendurl) ;if ($result!=0){Cache::increment($tel,1);Cache::put('code',$rand);return $this->getJsonData(200,'获取成功',$rand);}else{return $this->getJsonData(500,'获取失败',null);}}//登录public function logindo(Request $request){$phone=$request->get('phone');$code=$request->get('xcode');$session_code=Cache::get('code');//根据手机号获取uid$user=WechatUser::where('phone',$phone)->first()->toArray();//生成token$token = $this->createToken($user['id']); //生成tokenif ($code==$session_code){return $this->getJsonData(200,'登录成功',$token);}else{return $this->getJsonData(500,'登录失败',null);}}
 //限制发送时间//获取验证码$('#dyMobileButton').click(function () {var time = 60;var phone = $('#prependedInput').val();setInterval(function () {time--;if (time > 0) {$('#dyMobileButton').html('重新发送(' + time + ')秒');$('#dyMobileButton').prop('disabled', true);} else {$('#dyMobileButton').html('发送验证码');$('#dyMobileButton').prop('disabled', false);}}, 1000);

2.ajax上传 接值还是input接

<script>$('#button').click(function () {var token="{$Think.session.token}";var name=$('#name').val();var price=$('#price').val();var formData=new FormData();var img=document.getElementById('img').files[0];formData.append('name',name);formData.append('price',price);formData.append('img',img);$.ajax({url:"/addajax?token="+"{$Think.session.token}",data:formData,type:'post',dataType:'json',processData:false,contentType:false,success:function (res) {if (res.code==200){alert(res.msg);location.href="/show?token="+token;}}})})
</script>

3.七牛云上传 接收文件值只能用$_FILES接值,否则tp框架接值需要处理接到的值。files[‘tmp_name’]一定要看清接到的值。imageurl是在线地址。

//七牛云//接收文件上传的值$file = $_FILES;//本地的文件路径$localFilePath = $file['img']['tmp_name'];//截取文件后缀名//$suffix = '.jpg';$suffix = strtolower(substr($file['img']['name'],strpos($file['img']['name'],'.')));//生成一个唯一的文件名称,重命名 (md5加密原文件名+秒+随机数)$fileName = md5($file['img']['name']) . date('s',time()) . rand(1,9999999);$fileName .= $suffix;//上传七牛云业务逻辑$accessKey = 'FNbcGeNVSydTXAmq5gp'; //去控制台的秘钥管理拿AK$secretKey = 'zA8AeRR0j9Tf1KlUgEc';//去控制台的秘钥管理拿SK$auth = new Auth($accessKey, $secretKey);//七牛云桶名,根据自己实际进行填写$bucket = 'gaodewen';// 生成上传Token$token = $auth->uploadToken($bucket);// 构建 UploadManager 对象$uploadMgr = new UploadManager();// 调用 UploadManager 的 putFile 方法进行文件的上传。list($ret, $err) = $uploadMgr->putFile($token, $fileName, $localFilePath);//错误信息提示if ($err != null) {//可调整为错误页面$this->error('上传文件失败');}//把七牛云图片路径存储到我们自己的数据库  七牛云图片路径$imageUrl = 'http://qwot0f374.hd-bkt.clouddn.com/' . $fileName;$data['img']=$imageUrl;$res=\app\admin\model\Goods::add($data);$token=session('token');if ($res){return $this->success('添加成功','/show?token='.$token);}//入库业务逻辑 create save 只有这两个模型方法才能自动写入时间戳

3.layui搜索展示和分页 layui引用官网的模板,写上容器ID,limit,limits,三个参数。表单字段改成自己对应的字段,去掉下面的key,加上where

 public function getShow(){$page=input('page')? input('page') :1;$limit=input('limit')? input('limit') :3;$offset=($page-1)*$limit;$where=[];$key=input('name')? input('name'): [];if (!empty($key)){$where['name']=['like','%'.$key.'%'];}$count=\app\admin\model\Goods::getCount($offset,$limit,$where);$data=\app\admin\model\Goods::show($offset,$limit,$where);return getJsonData(0,'查询成功',$data,$count);}

PHP 手机验证码登录相关推荐

  1. 阿里云短信平台实现手机验证码登录

    阿里云短信平台实现手机验证码登录 首先创建一个工具类 工具类AliyunMessageUtil代码如下所示: public class AliyunMessageUtil {private stati ...

  2. 验证码登录开发----手机验证码登录

    手机验证码登录 需求分析 为了方便用户登录,移动端通常都会提供通过手机验证码登录的功能 手机验证码登录的优点: 方便快捷.无需注册,直接登录 使用短信验证码作为登录凭证,无需记忆密码 安全 登录流程: ...

  3. Keycloak实现手机验证码登录

    背景说明 使用Keycloak作为账号体系的项目中,经常会被问到Keycloak如何实现手机验证码登录,Keycloak有没有内置的基于短信的登录实现SMS-based two-/multi-fact ...

  4. Flutter学习第十五天:2021年最新版超详细Flutter实现Mob+SMSSDK手机验证码登录实现,Android和Flutter混合开发?

    Flutter实现手机验证码登录 第一步:在mob平台配置SMSSDK环境 第二步:建立flutter项目和android的library文件 第三步:在Android的library文件中部署mob ...

  5. 技术人员需要了解的手机验证码登录风险

    手机验证码登录是一种常见的应用登录方式,简单方便,不用记忆密码,市面上能见到的APP基本都支持这种登录方式,很多应用还把登录和注册集成到了一起,注册+登录一气呵成,给用户省去了很多麻烦,颇有一机在手. ...

  6. 【瑞吉外卖】day08:短信发送、手机验证码登录

    目录 4. 短信发送​编辑 4.1 短信服务介绍 4.2 阿里云短信服务介绍 4.3 阿里云短信服务准备 4.4 代码开发 5. 手机验证码登录 5.1 需求分析 5.2 数据模型 5.3 前端页面分 ...

  7. Java实现手机验证码登录和SpringSecurity权限控制

    手机验证码登录和SpringSecurity权限控制 手机快速登录功能,就是通过短信验证码的方式进行登录.这种方式相对于用户名密码登录方式,用户不需要记忆自己的密码,只需要通过输入手机号并获取验证码就 ...

  8. 瑞吉外卖(6)—手机验证码登录

    目录 一.手机验证码登录 1.1 短信发送 1.2 短信验证码登陆 1.2.1 需求分析 1.2.2 数据模型 1.2.3 代码开发 发送验证码(给的资料有点残缺,这里修改了) 使用验证码登陆(使用m ...

  9. 【瑞吉外卖项目】DAY5——第六章 手机验证码登录

    本章内容介绍手机验证码登录 点击获取验证码 收到短信,并输入验证码 点击登录,登录成功 短信发送_短信服务介绍和阿里云短信服务介绍 短信服务介绍 目前市面上有很多第三方提供的短信服务,这些第三方短信服 ...

  10. SpringSecurityOAuth2(7) 账号密码登录、手机验证码登录

    GitHub地址 码云地址 SpringSecurity 调用流程: 首先会进入UsernamePasswordAuthenticationFilter并且设置权限为null和是否授权为false,然 ...

最新文章

  1. python 增加维度_Python3 Tensorlfow:增加或者减小矩阵维度的实现
  2. 一切皆文件的编程思想
  3. 型数据保留几位小数_Python数据分析—数据框的简单操作
  4. msbuild explorer
  5. C语言 sprintf实现
  6. 打造Vim作为前端IDE
  7. loader-wizard.php,ioncube扩展loader-wizard的安装详细图文教程
  8. WireGuard简单配置
  9. pytorch dataloader参数解析
  10. 如何处理J-Link不能连接目标MCU的问题?
  11. 有机化学类毕业论文文献(推荐10篇)
  12. 数字孪生技术在智慧城市建设中有哪些应用?
  13. flex:0是什么意思,flex:0在IE11遇到的问题
  14. 解决win7 anaconda 安装 Failed to create menus
  15. 关于actor模型的优缺点分析(1)
  16. [附源码]Python计算机毕业设计鞍山丘比特房屋租赁管理系统
  17. 电脑显示计算机资源不足 新用户无法登录,三招解决win10电脑提示资源不足的问题...
  18. pytorch 定义torch类型数据_PyTorch 使用TorchText进行文本分类
  19. 【前端三分钟】利用Javascript实现打字效果
  20. 花生壳绑定域名和动态ip访问本机服务。

热门文章

  1. 年轻人千万别让老司机把你带到坑里
  2. 困扰我许久的痛楚:闭包
  3. Chrome浏览器断网时的小恐龙dino怎么一直玩?
  4. 全民投资人游戏服务器维护,欢乐园《全民仙战》3月5日14时合服公告
  5. 2022.10.23高沿坪易地扶贫 霜降
  6. NetworkManager is not running
  7. iOS之HomeKit
  8. 【颗粒归仓】(一)jQuery easyui datagrid 的数据加载
  9. 翻译《有关编程、重构及其他的终极问题?》——13.表格化的格式化
  10. 基于单片机1KW高频感应加热器控制系统仿真设计(毕设)