网络编程
位置:首页>> 网络编程>> php编程>> 微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解

微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解

作者:李维山  发布时间:2023-11-22 19:29:44 

标签:微信小程序,表单提交,PHP

本文实例讲述了微信小程序学习笔记之表单提交与PHP后台数据交互处理。分享给大家供大家参考,具体如下:

前面一篇结介绍了微信小程序函数定义、页面渲染。这里介绍form表单提交与后台php数据交互处理。

【form表单提交】

form.wxml:


<form bindsubmit="formSubmit" bindreset="formReset">
<view>
 昵称:<input type="text" name="nickname" placeholder="请输入昵称" confirm-type="done" />
 密码:<input password type="number" name="password" placeholder="请输入6位密码" maxlength="6" />
 性别:
 <radio-group name="sex">
  <label><radio value="女"/>女</label>
  <label><radio value="男"/>男</label>
 </radio-group>
 爱好:
 <checkbox-group name="aihao">
  <label><checkbox value="cy"/>抽烟</label>
  <label><checkbox value="hj"/>喝酒</label>
  <label><checkbox value="tt"/>烫头</label>
 </checkbox-group>
 状态:<switch name="status"/>
 <view>成绩:<slider name="grade" show-value ></slider></view>
</view>

<view class="btn-area">
 <button formType="submit">提交</button>
 <button formType="reset">重置</button>
</view>
</form>

form.js:


Page({
formSubmit: function (e) {
 console.log('form发生了submit事件,提交数据:', e.detail.value)
},
formReset: function () {
 console.log('form发生了reset事件')
}
})

提交触发formSubmit:

微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解

重置触发formReset:

微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解


【表单数据提交到PHP后台服务器】

使用 wx.request API发送HTTPS请求

前台form.js:


Page({
formSubmit: function (e) {
 wx.request({
  url: 'https://www.msllws.top/getdata.php',
  data: {
   'nickname': e.detail.value.nickname,
   'password': e.detail.value.password,
   'sex': e.detail.value.sex,
   'status': e.detail.value.status,
   'aihao': e.detail.value.aihao,
   'grade': e.detail.value.grade
  },
  method:'POST',
  header: {
   'Content-Type': 'application/x-www-form-urlencoded'
  },
  success: function (res) {
   console.log(res.data)
  }
 })
}
})

后台接口getdata.php:


<?php
 $postdata = $_POST; //获得POST请求提交的数据

//打印日志 方便查看
 $fp = fopen('./log.txt','a+');  
 fwrite($fp,var_export($postdata,true));  
 fclose($fp);

echo 666; //返回状态或数据

提交后日志文件log.txt内容如下,这些就是PHP后台获得的数据,可以对其进行数据库操作:


array (
'nickname' => '李栋',
'password' => '123456',
'sex' => '男',
'status' => 'true',
'aihao' => 'cy,hj,tt',
'grade' => '66',
)

微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解

【PHP后台对提交过来的数据进行判断、处理,返回状态,前台小程序给出提示】

示例如下,如果输入名字提示提交成功,不输入名字提示名字为空。

后台接口getdata.php:


<?php
 $postdata = $_POST;
 $fp = fopen('./log.txt','a+');  
 fwrite($fp,var_export($postdata,true));  
 fclose($fp);

if($postdata['nickname']){
$arr['state'] = 1;
$arr['info'] = '提交成功';
 }else{
$arr['state'] = 0;
$arr['info'] = '名字为空';
 }
 echo json_encode($arr);die;

前台form.js:


Page({
formSubmit: function (e) {
 wx.request({
  url: 'https://www.msllws.top/getdata.php',
  data: {
   'nickname': e.detail.value.nickname,
   'password': e.detail.value.password,
   'sex': e.detail.value.sex,
   'status': e.detail.value.status,
   'aihao': e.detail.value.aihao,
   'grade': e.detail.value.grade
  },
  method: 'POST',
  header: {
   'Content-Type': 'application/x-www-form-urlencoded'
  },
  success: function (res) {
   if (res.data.state == 1) {
    wx.showToast({
     title: res.data.info
    });
   }else{
    wx.showToast({
     title: res.data.info
    });
   }
  }
 })
}
})

微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解

【请求PHP后台API接口,获得数据,渲染页面】

示例如下,获得10条博客信息显示在页面中(接口用tp5写的,普通php文件用echo json_encode();返回数据)。

后台接口Getdata.php:


<?php
namespace app\home\controller;

use think\Controller;
class Getdata extends Controller
{
 public function index()
 {
   //查询10篇博客
   $whe['is_del'] = 'N';
   $artinfo = db('article')->field('`article_id`,`article_title`,`thumbnail`')->where($whe)->limit(10)->select();
   //拼接缩略图路径
   foreach ($artinfo as $k => $v) {
     $artinfo[$k]['thumbnail'] = 'https://www.msllws.top'.$v['thumbnail'];
   }
   return json($artinfo);
 }
}

前台data.js:


Page({
onLoad: function () {
 var that = this
 wx.request({
  url: 'https://www.msllws.top/Getdata',
  headers: {
   'Content-Type': 'application/json'
  },
  success: function (res) {
   that.setData({
    artinfo: res.data
   })
  }
 })
}
})

前台data.wxml:


<view wx:for="{{artinfo}}" wx:for-item="artinfo">
 <view>{{artinfo.article_title}}</view>
 <image src="{{artinfo.thumbnail}}"></image>
</view>

页面加载,显示如下:

微信小程序学习笔记之表单提交与PHP后台数据交互处理图文详解

希望本文所述对大家微信小程序开发有所帮助。

来源:https://blog.csdn.net/msllws/article/details/82801034

0
投稿

猜你喜欢

  • 今天把Ext.js源码又读了一遍,不过这次比较认真。看完代码,有了不少收获也遇到不少问题。主要总结如下:1、document.execCom
  • 前言ThinkPHP,是为了简化企业级应用开发和敏捷WEB应用开发而诞生的开源轻量级PHP框架。随着框架代码量的增加,一些潜在的威胁也逐渐暴
  • 服务端监听端口 listen()方法:net.listen({监听类型},{监听的ip和端口})(conn, err){}返回值:conn是
  • 这个代码不是很完善,能实现基本的功能;另外有个问题,就是divOpenWin层的定位问题:发现如果其属性设置成display:none,那么
  • J2ME是利用HttpConnection建立HTTP连接,然后获取数据,ASP也是利用HTTP协议,因而可以利用J2ME与ASP建立连接,
  • 现在电子商务网站的设计,正面临着一系列的挑战,其中最主要的挑战是:我们尝试建立一种用户体验,来提高用户在线购物的可能性。为了对抗网上激烈的竞
  • replace方法的语法是:stringObj.replace(rgExp, replaceText) 其中stringObj是字符串(st
  • strConnString = "driver={MySQL ODBC 3.51 
  • 本文详细讲述了CI框架整合smarty步骤。分享给大家供大家参考,具体如下:Ci结合smarty的配置步骤:1. 第一步配置ci和下载sma
  • 使用mysql二进制方式启动连接您可以使用MySQL二进制方式进入到mysql命令提示符下来连接MySQL数据库。实例以下是从命令行中连接m
  • 文字链接可以说是网页中最常见的页面元素了,默认的文字链接样式都是带下划线的效果,这种一陈不变的外观可能使很多朋友都想改变它,以使之符合页面的
  • SQL Server对上亿的表进行排序或者上亿的表之间进行join,会导致系统失去响应。◆1.我确实做了一个很大的查询,涉及的数据表有两亿条
  • 到现在为止,你只学习了如何根据特定的条件从表中取出一条或多条记录。但是,假如你想对一个表中的记录进行数据统计。例如,如果你想统计存储在表中的
  • 本文实例讲述了PHP抓取及分析网页的方法。分享给大家供大家参考,具体如下:抓取和分析一个文件是非常简单的事。这个教程将通过一个例子带领你一步
  • 关于CSS中的命名规则(其实我觉得是XHTML元素的命名规则更加合理些)这个问题,已经有很多人在说了,其中也不乏一些真知灼见。不过这种东西也
  • 大家经常在网上登陆的时候经常会看到让你输入验证码,有的是文字的,有的呢是图片,比如chinaren.com校友录中留言的时候,我们就会看到数
  • 1.什么是Javascript?Javascript是一种用于Web开发的编程语言。JavaScript在网络的客户端上运行。根据MDN,J
  • 本文将结合实例给大家演示如何使用ASP读取一个目录结构(及包含的文件信息)。演示页面中遍历显示了代码吾爱站点上若干目录文件夹——其中包含它们
  • 内容摘要: 当用户填写页面<FORM>内容时所提供的全部值,或在浏览器地址栏输入在URL后的值,通过Form和QueryStrin
  • 之前一直在windows环境使用pycharm加上virtualenv方式开发,最近由于本地多个virtualenv比较混乱,所以尝试切换a
手机版 网络编程 asp之家 www.aspxhome.com