全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

使用YII2框架实现微信公众号中表单提交功能

刚接触微信,要做一个在手机上的表单提交功能。

需求有这些:

  1. 只能在数据库中存在的手机号看到表单。
  2. 表单可以重复提交。
  3. 第一次进入表单需要验证
  4. 分享出去的页面,别人进入后也需要验证。

因为每个手机在同一个公众号当中的openid是唯一性的。所以在手机查看这个表单页面的时候,就将这个openid存到数据库中,方便下次提交可以验证。

下面是我的代码。使用的是YII2框架。

Controller

//获得回调函数
 public function actionCallback($code,$state){
    $model = new tp_tstz_proposal();
    $model1= new tp_tstz_staff();
    // 微信开放平台网站应用的appid和秘钥secret
    $appid = '';
    $secret = '';
    $curl = new curl\Curl();
    //获取access_token
    $wxresponse = $curl->get('https://api.weixin.qq.com/sns/oauth2/access_token?appid=' . $appid
      . '&secret=' . $secret . '&code=' . $code . '&grant_type=authorization_code');
    $wxresult = json_decode($wxresponse);
    if(isset($wxresult->errcode) && $wxresult->errcode > 0){
      //分享出去,重新认证
     return $this->render('login');
      // 向微信请求授权时出错,打印错误码
      // echo json_encode($wxresult);
      // exit;
    }
    $openid=$wxresult->openid;
    $result=$model1::find()->where(['openid'=>$openid])->one();
    //如果OPENID存在就去表单
    if(count($result)>0){
      $key=123456;
      return $this->render('view',['model'=>$model,'key'=>$key]);
    }else{
      return $this->render('tel',['model'=>$model1,'openid'=> $openid]);
    }
  }`

view层

很简单的重定向页面

header('Location:https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8ba95fc51672e844&redirect_uri=http%3a%2f%2fjifen.wendu.cn%2fts%2fweb%2findex.php%3fr%3dproposal%2fcallback&response_type=code&scope=snsapi_base&state=123asd#wechat_redirect');

返回的路径就是进入controller的路径。

在表单页面,我先做了一个简单的认证

if(!isset($key)){
  header('Location:http://jifen.wendu.cn/ts/web/index.php?r=say/login');
}

判断是否是从分享的页面来的,如果是从分享的页面来就要重新验证,判断是否在数据库中有此手机的openid。没有就进行手机号码的验证。

大概就是这样了,我第一个简单的微信公众号项目。

总结

以上所述是小编给大家介绍的使用YII2框架实现微信公众号中表单提交功能,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!


# yii2  # 微信公众号表单提交  # 记录Yii2框架开发微信公众号遇到的问题及解决方法  # 完美利用Yii2微信后台开发的系列总结  # Yii PHP Framework实用入门教程(详细介绍)  # YII Framework框架使用YIIC快速创建YII应用之migrate用法实例详解  # YII Framework框架教程之使用YIIC快速创建YII应用详解  # Yii Framework框架获取分类下面的所有子类方法  # YiiFramework入门知识点总结(图文教程)  # YII Framework框架教程之缓存用法详解  # YII Framework框架教程之国际化实现方法  # YII Framework框架教程之安全方案详解  # Yii Framework框架开发微信公众平台示例  # 表单  # 是从  # 数据库中  # 小编  # 的是  # 判断是否  # 第一个  # 在此  # 中有  # 要做  # 给大家  # 很简单  # 就去  # 就将  # 机上  # 所述  # 在手  # 回调  # 给我留言  # 感谢大家 


相关文章: 如何在阿里云虚拟机上搭建网站?步骤解析与避坑指南  如何在企业微信快速生成手机电脑官网?  如何通过多用户协作模板快速搭建高效企业网站?  表情包在线制作网站免费,表情包怎么弄?  建站上传速度慢?如何优化加速网站加载效率?  音乐网站服务器如何优化API响应速度?  宝塔建站助手安装配置与建站模板使用全流程解析  详解ASP.NET 生成二维码实例(采用ThoughtWorks.QRCode和QrCode.Net两种方式)  C#怎么创建控制台应用 C# Console App项目创建方法  网站制作专业公司有哪些,如何制作一个企业网站,建设网站的基本步骤有哪些?  枣阳网站制作,阳新火车站打的到仙岛湖多少钱?  如何通过虚拟机搭建网站?详细步骤解析  建站之星CMS建站配置指南:模板选择与SEO优化技巧  如何通过西部数码建站助手快速创建专业网站?  建站之星安装失败:服务器环境不兼容?  潍坊网站制作公司有哪些,潍坊哪家招聘网站好?  如何在阿里云香港服务器快速搭建网站?  官网自助建站系统:SEO优化+多语言支持,快速搭建专业网站  如何获取开源自助建站系统免费下载链接?  广州网站建站公司选择指南:建站流程与SEO优化关键词解析  网站网页制作专业公司,怎样制作自己的网页?  沈阳制作网站公司排名,沈阳装饰协会官方网站?  北京营销型网站制作公司,可以用python做一个营销推广网站吗?  大型企业网站制作流程,做网站需要注册公司吗?  黑客入侵网站服务器的常见手法有哪些?  油猴 教程,油猴搜脚本为什么会网页无法显示?  实例解析angularjs的filter过滤器  网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?  如何通过老薛主机一键快速建站?  专业制作网站的公司哪家好,建立一个公司网站的费用.有哪些部分,分别要多少钱?  建站VPS推荐:2025年高性能服务器配置指南  如何处理“XML格式不正确”错误 常见XML well-formed问题解决方法  独立制作一个网站多少钱,建立网站需要花多少钱?  制作企业网站建设方案,怎样建设一个公司网站?  上海网站制作网站建设公司,建筑电工证网上查询系统入口?  建站主机无法访问?如何排查域名与服务器问题  建站之星如何保障用户数据免受黑客入侵?  C++ static_cast和dynamic_cast区别_C++静态转换与动态类型安全转换  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  如何高效配置IIS服务器搭建网站?  建站之星多图banner生成与模板自定义指南  建站之星后台密码遗忘如何找回?  高端建站三要素:定制模板、企业官网与响应式设计优化  JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)  c# F# 的 MailboxProcessor 和 C# 的 Actor 模型  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  武汉网站如何制作,黄黄高铁武穴北站途经哪些村庄?  网站制作公司广州有几家,广州尚艺美发学校网站是多少?  建站主机解析:虚拟主机配置与服务器选择指南  家庭建站与云服务器建站,如何选择更优? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。