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

需求有这些:
因为每个手机在同一个公众号当中的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框架开发微信公众平台示例
# 表单
# 是从
# 数据库中
# 小编
# 的是
# 判断是否
# 第一个
# 在此
# 中有
# 要做
# 给大家
# 很简单
# 就去
# 就将
# 机上
# 所述
# 在手
# 回调
# 给我留言
# 感谢大家
相关文章:
如何通过VPS建站无需域名直接访问?
建站之星伪静态规则如何正确配置?
如何优化Golang Web性能_Golang HTTP服务器性能提升方法
如何通过商城免费建站系统源码自定义网站主题?
中山网站制作网页,中山新生登记系统登记流程?
Java解压缩zip - 解压缩多个文件或文件夹实例
定制建站流程步骤详解:一站式方案设计与开发指南
实现虚拟支付需哪些建站技术支撑?
建站主机功能解析:服务器选择与快速搭建指南
网站建设设计制作营销公司南阳,如何策划设计和建设网站?
如何用IIS7快速搭建并优化网站站点?
简单实现Android文件上传
如何在Golang中引入测试模块_Golang测试包导入与使用实践
音响网站制作视频教程,隆霸音响官方网站?
建站之星多图banner生成与模板自定义指南
小自动建站系统:AI智能生成+拖拽模板,多端适配一键搭建
如何在Windows虚拟主机上快速搭建网站?
广州商城建站系统开发成本与周期如何控制?
c# await 一个已经完成的Task会发生什么
网站制作多少钱一个,建一个论坛网站大约需要多少钱?
网站制作难吗安全吗,做一个网站需要多久时间?
如何选择网络建站服务器?高效建站必看指南
html制作网站的步骤有哪些,iapp如何添加网页?
宝塔面板如何快速创建新站点?
如何通过虚拟机搭建网站?详细步骤解析
c# 在高并发下使用反射发射(Reflection.Emit)的性能
如何挑选最适合建站的高性能VPS主机?
如何在Golang中指定模块版本_使用go.mod控制版本号
制作充值网站的软件,做人力招聘为什么要自己交端口钱?
常州自助建站费用包含哪些项目?
企业网站制作公司网页,推荐几家专业的天津网站制作公司?
如何快速选择适合个人网站的云服务器配置?
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
视频网站app制作软件,有什么好的视频聊天网站或者软件?
c++怎么使用类型萃取type_traits_c++ 模板元编程类型判断【方法】
如何快速生成橙子建站落地页链接?
如何获取上海专业网站定制建站电话?
上海网站制作网页,上海本地的生活网站有哪些?最好包括生活的各个方面的?
如何高效利用亚马逊云主机搭建企业网站?
台州网站建设制作公司,浙江手机无犯罪记录证明怎么开?
Android滚轮选择时间控件使用详解
如何快速登录WAP自助建站平台?
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
香港服务器网站卡顿?如何解决网络延迟与负载问题?
青岛网站建设如何选择本地服务器?
rsync同步时出现rsync: failed to set times on “xxxx”: Operation not permitted
建站之星图片链接生成指南:自助建站与智能设计教程
如何选择建站程序?包含哪些必备功能与类型?
免费ppt制作网站,有没有值得推荐的免费PPT网站?
JS中使用new Date(str)创建时间对象不兼容firefox和ie的解决方法(两种)
*请认真填写需求信息,我们会在24小时内与您取得联系。