微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺(tái)數(shù)據(jù)交互處理圖文詳解
本文實(shí)例講述了微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺(tái)數(shù)據(jù)交互處理。分享給大家供大家參考,具體如下:
前面一篇結(jié)介紹了微信小程序函數(shù)定義、頁面渲染。這里介紹form表單提交與后臺(tái)php數(shù)據(jù)交互處理。
【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> 狀態(tài):<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發(fā)生了submit事件,提交數(shù)據(jù):', e.detail.value)
},
formReset: function () {
console.log('form發(fā)生了reset事件')
}
})
提交觸發(fā)formSubmit:

重置觸發(fā)formReset:

【表單數(shù)據(jù)提交到PHP后臺(tái)服務(wù)器】
使用 wx.request API發(fā)送HTTPS請求
前臺(tái)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)
}
})
}
})
后臺(tái)接口getdata.php:
<?php
$postdata = $_POST; //獲得POST請求提交的數(shù)據(jù)
//打印日志 方便查看
$fp = fopen('./log.txt','a+');
fwrite($fp,var_export($postdata,true));
fclose($fp);
echo 666; //返回狀態(tài)或數(shù)據(jù)
提交后日志文件log.txt內(nèi)容如下,這些就是PHP后臺(tái)獲得的數(shù)據(jù),可以對其進(jìn)行數(shù)據(jù)庫操作:
array ( 'nickname' => '李棟', 'password' => '123456', 'sex' => '男', 'status' => 'true', 'aihao' => 'cy,hj,tt', 'grade' => '66', )

【PHP后臺(tái)對提交過來的數(shù)據(jù)進(jìn)行判斷、處理,返回狀態(tài),前臺(tái)小程序給出提示】
示例如下,如果輸入名字提示提交成功,不輸入名字提示名字為空。
后臺(tái)接口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;
前臺(tái)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后臺(tái)API接口,獲得數(shù)據(jù),渲染頁面】
示例如下,獲得10條博客信息顯示在頁面中(接口用tp5寫的,普通php文件用echo json_encode();返回?cái)?shù)據(jù))。
后臺(tái)接口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);
}
}
前臺(tái)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
})
}
})
}
})
前臺(tái)data.wxml:
<view wx:for="{{artinfo}}" wx:for-item="artinfo">
<view>{{artinfo.article_title}}</view>
<image src="{{artinfo.thumbnail}}"></image>
</view>
頁面加載,顯示如下:

希望本文所述對大家微信小程序開發(fā)有所幫助。
- 微信小程序開發(fā)之獲取用戶手機(jī)號碼(php接口解密)
- 微信小程序發(fā)送訂閱消息的方法(php 為例)
- 基于PHP實(shí)現(xiàn)微信小程序客服消息功能
- PHP小程序支付功能完整版【基于thinkPHP】
- PHP實(shí)現(xiàn)微信小程序用戶授權(quán)的工具類示例
- PHP后臺(tái)實(shí)現(xiàn)微信小程序登錄
- 微信小程序調(diào)用PHP后臺(tái)接口 解析純html文本
- 微信小程序圖片選擇、上傳到服務(wù)器、預(yù)覽(PHP)實(shí)現(xiàn)實(shí)例
- 微信小程序 PHP后端form表單提交實(shí)例詳解
- PHP:微信小程序 微信支付服務(wù)端集成實(shí)例詳解及源碼下載
- PHP小程序后臺(tái)部署運(yùn)行 LNMP+WNMP的方法
相關(guān)文章
JS實(shí)現(xiàn)FLASH幻燈片圖片切換效果的方法
這篇文章主要介紹了JS實(shí)現(xiàn)FLASH幻燈片圖片切換效果的方法,實(shí)例分析了javascript操作圖片實(shí)現(xiàn)Flash幻燈效果的技巧,需要的朋友可以參考下2015-03-03
解決window.opener=null;window.close(),只支持IE6不支持IE7,IE8的問題
本篇文章主要是對window.opener=null;window.close(),只支持IE6不支持IE7,IE8的解決方法進(jìn)行了介紹,需要的朋友可以過來參考下,希望對大家有所幫助2014-01-01
JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法(2則示例)
這篇文章主要介紹了JavaScript緩沖運(yùn)動(dòng)實(shí)現(xiàn)方法,簡單分析了JavaScript緩沖運(yùn)動(dòng)的實(shí)現(xiàn)原理與相關(guān)運(yùn)算技巧,并給出了兩則實(shí)例代碼予以總結(jié)分析,需要的朋友可以參考下2016-01-01
基于JavaScript實(shí)現(xiàn)除夕煙花秀與隨機(jī)祝福語
新年即將來臨,本文將為大家介紹一個(gè)基于JavaScript實(shí)現(xiàn)的頁面特效:煙花秀+春節(jié)隨機(jī)祝福語。文中的示例代碼講解詳細(xì),感興趣的可以了解一下2022-01-01
對字符串進(jìn)行HTML編碼和解碼的JavaScript函數(shù)
對字符串進(jìn)行HTML編碼和解碼的JS函數(shù),記下了方便以后找 :)2010-02-02
基于Unit PNG Fix.js有時(shí)候在ie6下不正常的解決辦法
本篇文章是對Unit PNG Fix.js有時(shí)候在ie6下不正常的解決辦法進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下2013-06-06
用javascript做一個(gè)小游戲平臺(tái) (二) 游戲選擇器
昨天晚上“設(shè)計(jì)”了n久,那些代碼都還沒有運(yùn)行起來,有點(diǎn)心急、有點(diǎn)郁悶。2010-01-01
微信小程序uniapp實(shí)現(xiàn)左滑刪除效果(完整代碼)
這篇文章通過實(shí)例代碼給大家講解了微信小程序uniapp實(shí)現(xiàn)左滑刪除效果,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2021-11-11
JavaScript實(shí)現(xiàn)帶標(biāo)題的圖片輪播特效
這里給大家分享的是4屏帶標(biāo)題和文字描述的js圖片輪播代碼,完美兼容IE6。圖片滾動(dòng)切換,鼠標(biāo)放到數(shù)字選項(xiàng)卡即可切換圖片。點(diǎn)擊圖片跳轉(zhuǎn)到指定頁面,有需要的小伙伴可以參考下。2015-05-05

