当前位置: 主页 > 前端开发

php后端-微信小程序 php后端

发布时间:2023-02-08 11:20   浏览次数:次   作者:佚名

想要快速开发一个小程序,需要注意很多环节。 估计很多人对微信小程序php后台开发还比较陌生,但这也很关键。 让我们来看看详细的开发示例。

1、小程序相对于以往的WEB+PHP建站,只是把web放在微信端,使用小程序的固定格式在前端进行布局、事件触发、数据传输和读取结尾。 服务器端可以用任何后端语言编写,但所有数据必须以JSON的形式返回给小程序。

2、昨天写了登录、注册、忘记密码的功能。 它们本质上是一个小程序的表单提交操作。 所以就拿注册功能来写这个例子。

3.目录图

js文件是逻辑控制,主要是发送请求和接收数据,

json 用于此页面的本地配置并覆盖全局 app.json 配置,

wxss用于设置小程序页面的样式,

wxml是页面,相当于html

4. style和json文件暂时不关心,只想复习一下form表单提交开发

5.wxml文件代码

登记

登录

忘记密码

6.需要了解的几个关键点

A。  Form表单php后端,需要绑定一个submit事件,在小程序中,属性为bindsubmit,

bindsubmit=”formSubmit” 这里的属性值formSubmit可以命名为任何符合规范的值,相当于前面的html

οnsubmit="formSubmit()",是一个函数名,提交时触发formSubmit函数事件,这个函数是用js写的。

b. 其他属性与前面的 HTML 类似。 注意表单必须有name="value",后台处理同之前一样,比如name="username"

PHP 可以使用 $_POST['username'] 来接收。

C、由于小程序没有输入提交按钮,所以每个表单都必须有一个提交按钮。

注册,这个按钮是用来开启提交事件的。

7.index.js代码

页({

数据: {

},

表单提交:函数(e){

如果(e.detail.value.mobile.length==0||e.detail.value.password.length==0){

wx.showToast({

title: '手机号或密码不能为空!',

图标:“正在加载”,

持续时间:1500

})

设置超时(功能(){

wx.hideToast()

},2000)

}else if(e.detail.value.mobile.length != 11){

wx.showToast({

title: '请输入11位手机号码!',

图标:“正在加载”,

持续时间:1500

})

设置超时(功能(){

wx.hideToast()

},2000)

}否则如果(e.detail.value.password.length

||e.detail.value.password.length>20){

wx.showToast({

title: '请输入6-20密码!',

图标:“正在加载”,

持续时间:1500

})

设置超时(功能(){

wx.hideToast()

},2000)

}else if(e.detail.value.password != e.detail.value.repassword){

wx.showToast({

title: '两次密码输入不一致!',

图标:“正在加载”,

持续时间:1500

})

设置超时(功能(){

wx.hideToast()

},2000)

}别的{

wx.request({

网址:'#39;,

标题:{

“内容类型”:“应用程序/x-www-form-urlencoded”

},

方法:“POST”,

数据:{手机:e.detail.value.mobile,密码:e.detail.value.password},

成功:功能(资源){

如果(res.data.status == 0){

wx.showToast({

标题:res.data.info,

图标:“正在加载”,

持续时间:1500

})

}别的{

wx.showToast({

title: res.data.info,//这里打印登录成功

图标:“成功”,

持续时间:1000

})

}

}

})

}

},

})

8. 需要注意的是

Page()方法是必须的,js对象放在里面,用于页面加载时的渲染效果

data:{},数据对象,设置页面中的数据,前端可以通过读取这个对象中的数据来展示。

formSubmit: function 小程序中的方法都是

方法名:function(),其中function可以传入一个参数作为触发当前时间的对象

下面是函数的执行。 由于验证过多,我只摘取一部分了解一下。

如果(e.detail.value.mobile.length==0||e.detail.value.password.length==0){

wx.showToast({

title: '手机号或密码不能为空!',

图标:“正在加载”,

持续时间:1500

})

这里e是当前触发事件的对象,类似于html

οnclick="foo(this)"这个对象,小程序封装了很多内置的调用方法,e.detail.value.mobile

是当前对象name=”mobile”的对象的值e.detail.value.mobile.length是这个值的长度

showToast类似于JS中的alert,弹出框,title是弹出框显示的信息,icon是弹出框的图标状态,目前只加载

以及成功的两种状态。  duration 是弹出窗口在屏幕上显示的时间量。

9.重点来了

wx.request({

网址:'#39;,

标题:{

“内容类型”:“应用程序/x-www-form-urlencoded”

},

方法:“POST”,

数据:{手机:e.detail.value.mobile,密码:e.detail.value.password},

成功:功能(资源){

如果(res.data.status == 0){

wx.showToast({

标题:res.data.info,

图标:“正在加载”,

持续时间:1500

})

}别的{

wx.showToast({

title: res.data.info,//这里打印登录成功

图标:“成功”,

持续时间:1000

})

}

},

失败:功能(){

wx.showToast({

title: '服务器网络错误!',

图标:“正在加载”,

持续时间:1500

})

}

})

wx.request({}) 是一个发起https请求的小程序。 请注意,http 是不可接受的。

这里

a.url 是您请求的 URL。 比如前端POST形式的action='index.php',其中index.php是相对路径,小程序请求的URL必须是网络上的绝对路径。

例如:

b.

标题:{

“内容类型”:“应用程序/x-www-form-urlencoded”

},

由于 POST 和 GET 传输数据的方式不同,所以 POST 的头部必须是

“内容类型”:“应用程序/x-www-form-urlencoded”

GET 的头部可以是 'Accept': 'application/json'

C。 务必指定方法:“POST”默认为“GET”,保持大写

数据:{手机:e.detail.value.mobile,密码:e.detail.value.password},

这里的数据是POST发送给服务器的数据,格式为{name:value}

d. 成功回调函数

成功:功能(资源){

如果(res.data.status == 0){

wx.showToast({

标题:res.data.info,

图标:“正在加载”,

持续时间:1500

})

}别的{

wx.showToast({

标题:res.data.info,

图标:“成功”,

持续时间:1000

})

}

}

e.success:function()是请求状态成功触发的事件,为200。注意,请求成功不是操作成功,请求只是程序和程序之间的连接服务器。

fail:function() 是网络请求不成功时触发的事件。

F。

如果(res.data.status == 0){

wx.showToast({

标题:res.data.info,

图标:“正在加载”,

持续时间:1500

})

}别的{

wx.showToast({

title: res.data.info,//这里打印登录成功

图标:“成功”,

持续时间:1000

})

}

这里有一段代码是跟PHP后台程序相关的,具体过程如下,

1.POST向该接口传递数据,用过THINKPHP的都知道是HOME模块下Login控制下的register方法

2、register方法根据POST过来的数据和数据库进行二次校验。 如果操作成功,返回什么,如果操作失败,返回什么

3、后台PHP代码如下:

控制器 LoginController.class.php

/**

* 用户注册

*/

公共功能寄存器()

{

如果(IS_POST){

$用户 = D("用户");

如果 (!$User->create($_POST, 4)) {

$this->error($User->getError(),'',true);

} 别的 {

如果($用户->注册()){

$this->success('注册成功!','',true);

}别的{

$this->error('注册失败!','',true);

}

}

}

}

模型

UserModel.class.php 的注册方法

公共功能寄存器()

{

$mobile = I('post.mobile');

$password = I('post.password');

$res = D('用户')->添加(数组(

'手机'=> $手机,

'密码'=>md5($密码),

'modifytime'=>date("Ymd H:i:s")

));

返回 $res;

}

以上就是微信小程序php后台开发实例的详解php后端,包含了开发所需的所有小程序代码。 小编详解大家可以快速了解微信小程序的php后台,学习如何开发。 更多相关资讯,请关注微信小程序素材网。