小程序如何将数据传到php_微信小程序学习笔记(三)表单提交、PHP后台数据交互...

本文介绍了如何在微信小程序中使用form表单和wx.request API实现数据提交到PHP后台,详细展示了前后台代码实现过程,包括数据接收、判断处理及页面渲染。通过示例,阐述了小程序与PHP后台进行数据交互的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

上一篇:微信小程序学习笔记(二)

【form表单提交】

form.wxml:

     昵称:    密码:    性别:          女      男        爱好:          抽烟      喝酒      烫头        状态:    成绩:        提交    重置  

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

提交触发formSubmit:

b62c61e9822c60d7ed41d25c5f37eef5.png

重置触发formReset:

d12f60d0a60113ab2108c0513371fe2a.png

【表单数据提交到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',)

c7eac5949894a7a433f6dfccedf968b3.png

【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          });        }      }    })  }})

462191f19c052fccdde81926b97eaccd.png

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

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

后台接口Getdata.php:<?phpnamespace apphomecontroller;use thinkController;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:    {{artinfo.article_title}}    

页面加载,显示如下:

1115775aa1ea2b2f63c92d50a130e5a2.gif

下一篇:微信小程序学习笔记(四)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值