广告
返回顶部
首页 > 资讯 > 后端开发 > PHP编程 >PHP后端form表单提交的方法
  • 461
分享到

PHP后端form表单提交的方法

phpform 2022-10-19 16:10:33 461人浏览 安东尼
摘要

这篇文章主要介绍了PHP后端fORM表单提交的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php后端form表单提交的方法文章都会有所收获,下面我们一起来看看吧。1.小程

这篇文章主要介绍了PHP后端fORM表单提交的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php后端form表单提交的方法文章都会有所收获,下面我们一起来看看吧。

1.小程序相对于之前的WEB+PHP建站来说,个人理解为只是将WEB放到了微信端,用小程序固定的格式前前端进行布局、事件触发和数据的输送和读取,服务器端可以用任何后端语言写,但是所有的数据都要以JSON的形式返回给小程序。

2.昨天写了登录注册、忘记密码功能,他们实质上都是一个表单提交操作。因此就拿注册功能来写这个例子。

3.目录图

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

  2. json 用于此页面局部 配置并且覆盖全局app.json配置,

  3. wxss用于页面的样式设置,

  4. wxml就是页面,相当于html

4.样式和json文件暂时不管了,我只是想回顾一下form表单的提交

5.Wxml文件代码

<view class="load-head"> <image src="../../images/return.png" /> 注册</view><view class="login"> <form bindsubmit="formSubmit"> <view class="field clearfix"> <label for="name"><image src="../../images/phone.png" /></label> <input id="name" name="mobile" class="login-input" type="text" placeholder="请输入手机号" /> </view> <view class="field clearfix"> <label for="passWord"><image src="../../images/code.png" /></label> <input id="password" class="login-input" type="password" placeholder="请输入验证码" /> <button class="get-code" hover-class="code-hover">获取验证码</button> </view> <view class="field clearfix"> <label for="password"><image src="../../images/password.png" /></label> <input id="password" name="password" class="login-input" type="password" placeholder="请设置6-20位登录密码" /> </view> <view class="field clearfix"> <label for="repassword"><image src="../../images/password.png" /></label> <input id="repassword" name="repassword" class="login-input" type="password" placeholder="请输入确认密码" /> </view> <button class="btn_login" formType="submit">注册</button> </form> <view class="reg_forget clearfix"> <navigator url="../login/index" class="btn_reg">登录</navigator> <navigator url="../forget/index" class="btn_forget">忘记密码</navigator> </view > </view>

 6.其中几个关键点需要理解

a.Form表单,需要绑定一个submit事件,在小程序中,属性为bindsubmit,

bindsubmit=”formSubmit”   这里的属性值formSubmit,命名可以为符合规范的任意值,相当于以前html中的  onsubmit=”formSubmit()”,是一个函数名,当提交的时候触发formSubmit这个函数事件,这个函数写在js中。

b.其他的属性和之前的HTML差不多,注意的是,表单一定要有name=“value”,后端处理和以前一样,比如name=”username” PHP可以用 $_POST[&lsquo;username']来接收。

C.由于小程序没有input submit这个按钮,所以在每个form表单中都要有一个提交按钮,

<button formType="submit">注册</button>,这个按钮就是用来开启提交事件的。

7.index.js代码

Page({ data: { }, formSubmit: function(e) { if(e.detail.value.mobile.length==0||e.detail.value.password.length==0){ wx.showToast({ title: '手机号码或密码不得为空!', icon: 'loading', duration: 1500 }) setTimeout(function(){ wx.hideToast() },2000) }else if(e.detail.value.mobile.length != 11){ wx.showToast({ title: '请输入11位手机号码!', icon: 'loading', duration: 1500 }) setTimeout(function(){ wx.hideToast() },2000) }else if(e.detail.value.password.length <6 ||e.detail.value.password.length>20){ wx.showToast({ title: '请输入6-20密码!', icon: 'loading', duration: 1500 }) setTimeout(function(){ wx.hideToast() },2000) }else if(e.detail.value.password != e.detail.value.repassword){ wx.showToast({ title: '两次密码输入不一致!', icon: 'loading', duration: 1500 }) setTimeout(function(){ wx.hideToast() },2000) }else{ wx.request({ url: 'https://shop.yunapply.com/home/Login/reGISter', header: { "Content-Type": "application/x-www-form-urlencoded" }, method: "POST", data:{mobile:e.detail.value.mobile,password:e.detail.value.password}, success: function(res) { if(res.data.status == 0){ wx.showToast({ title: res.data.info, icon: 'loading', duration: 1500 }) }else{ wx.showToast({ title: res.data.info,//这里打印出登录成功 icon: 'success', duration: 1000 }) } } }) } }, })

8.需要注意的是

Page()这个方法是必须有的,里面放置js对象,用于页面加载的时候,呈现效果

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

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

下面是函数的执行,由于验证太多,我只拿一部分出来理解。

if(e.detail.value.mobile.length==0||e.detail.value.password.length==0){ wx.showToast({ title: '手机号码或密码不得为空!', icon: 'loading', duration: 1500 })

 这里的e,就是当前触发事件的对象,类似于html onclick=“foo(this)”this对象,小程序封装了许多内置的调用方法,e.detail.value.mobile 就是当前对象name=”mobile”的对象的值e.detail.value.mobile.length就是这个值的长度

 showToast类似于JS中的alert,弹出框,title  是弹出框的显示的信息,icon是弹出框的图标状态,目前只有loading 和success这两个状态。duration是弹出框在屏幕上显示的时间。 

9.重点来了

wx.request({ url: 'Https://shop.com/home/Login/register', header: { "Content-Type": "application/x-www-form-urlencoded" }, method: "POST", data:{mobile:e.detail.value.mobile,password:e.detail.value.password}, success: function(res) { if(res.data.status == 0){ wx.showToast({ title: res.data.info, icon: 'loading', duration: 1500 }) }else{ wx.showToast({ title: res.data.info,//这里打印出登录成功 icon: 'success', duration: 1000 }) } },fail:function(){ wx.showToast({ title: '服务器网络错误!', icon: 'loading', duration: 1500 }) } })

 wx.request({})是小程序发起https请求,注意http是不行的。

 这里

a.url是你请求的网址,比如以前在前端,POST表单中action=&lsquo;index.php',这里的index.php是相对路径,而小程序请求的网址必须是网络绝对路径。

比如:https://shop.com/home/Login/register

b.

header: { "Content-Type": "application/x-www-form-urlencoded" },

由于POST和GET传送数据的方式不一样,POST的header必须是

"Content-Type": "application/x-www-form-urlencoded" 

GET的header可以是 'Accept': 'application/json'

c.一定要写明method:“POST”  默认是“GET”,保持大写

data:{mobile:e.detail.value.mobile,password:e.detail.value.password},

这里的data就是POST给服务器端的数据 以{name:value}的形式传送

d.成功回调函数

success: function(res) { if(res.data.status == 0){ wx.showToast({ title: res.data.info, icon: 'loading', duration: 1500 })}else{ wx.showToast({ title: res.data.info, icon: 'success', duration: 1000 }) } }

e.success:function()是请求状态成功触发是事件,也就是200的时候,注意,请求成功不是操作成功,请求只是这个程序到服务器端这条线的通的。

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

f. 

if(res.data.status == 0){ wx.showToast({ title: res.data.info, icon: 'loading', duration: 1500 }) }else{ wx.showToast({ title: res.data.info,//这里打印出登录成功 icon: 'success', duration: 1000 }) }

这里的一段代码是和PHP后端程序有关系的,具体流程是这样的,

1.POST通过数据到https://shop.com/home/Login/register这个接口,用过THINKPHP的就会知道是HOME模块下的Login控制下的register方法

2.register方法根据POST过来的数据,结合数据库进行二次验证,如果操作成功,返回什么,如果操作失败,返回什么

3.后端PHP代码如下:

控制器 LoginController.class.php

public function register(){ if (IS_POST) { $User = D("User"); if (!$User->create($_POST, 4)) { $this->error($User->getError(),'',true); } else { if ($User->register()){ $this->success('注册成功!','',true); }else{ $this->error('注册失败!','',true); } } }}

 模型

UserModel.class.php  的register方法

public function register(){ $mobile = I('post.mobile'); $password = I('post.password'); $res = D('User')->add(array( 'mobile'=> $mobile, 'password'=>md5($password), 'modifytime'=>date("Y-m-d H:i:s") )); return $res;}

关于“PHP后端form表单提交的方法”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“PHP后端form表单提交的方法”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注编程网PHP编程频道。

--结束END--

本文标题: PHP后端form表单提交的方法

本文链接: https://www.lsjlt.com/news/89161.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • PHP后端form表单提交的方法
    这篇文章主要介绍了PHP后端form表单提交的方法的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇PHP后端form表单提交的方法文章都会有所收获,下面我们一起来看看吧。1.小程...
    99+
    2022-10-19
    php form
  • form表单无法提交到php怎么办
    form表单无法提交到php的解决办法:1、打开相应的代码文件;2、修改“onload="javascript:document.form1.submit();”语句;3、将submit的name进行更改一下即可。本教程操作环境:...
    99+
    2023-05-14
    form php from
  • 使用js提交form表单的两种方法
    使用JavaScript提交表单有两种常见的方法:1. 使用`submit()`方法:可以在表单元素上调用`submit()`方法来...
    99+
    2023-09-17
    js
  • HTML form表单提交方法案例详解
    form表单提交方式总结一下: 一、利用submit按钮实现提交,当点击submit按钮时,触发onclick事件,由JavaScript里函数判断输入内容是否为空,如果为空,返回f...
    99+
    2022-11-12
    HTML form表单提交 HTML form表单提交讲解
  • Form表单, 4种常见的表单提交方式
    常见的表单提交方式有以下四种:1. GET方式:表单数据会附加在URL的后面,以键值对的形式出现,例如:http://example...
    99+
    2023-09-14
    Form
  • form表单无法提交到php如何解决
    这篇文章主要介绍“form表单无法提交到php如何解决”,在日常操作中,相信很多人在form表单无法提交到php如何解决问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”form表单无法提交到php如何解决”的疑...
    99+
    2023-07-04
  • ajax提交form表单数据的方法有哪些
    有以下几种方法可以使用Ajax提交form表单数据:1. 使用`FormData`对象:可以使用`FormData`对象来收集for...
    99+
    2023-08-08
    ajax
  • 使用AjaxSubmit()方法怎么实现Form提交表单后回调功能
    今天就跟大家聊聊有关使用AjaxSubmit()方法怎么实现Form提交表单后回调功能,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。2.    ...
    99+
    2023-06-08
  • 如何使用Ajax方法实现Form表单的提交
    这篇文章主要介绍了如何使用Ajax方法实现Form表单的提交,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。常见的form表单提交方式<...
    99+
    2022-10-19
    ajax form
  • 前端页面表单提交到后台
    前端页面表单提交到后台的步骤如下: 在前端页面中创建一个表单,指定 action 属性和 method 属性,分别指定提交的地址和提交方式(POST 或 GET)。 在表单中添加输入控件,如文本输入框、下拉框等。 给表单添加提交按钮,并...
    99+
    2023-09-02
    前端 php javascript 服务器 开发语言
  • 微信小程序的form表单提交
    获取input有两种方法: 第一:bindsubmit方法 注意: 1.使用form里面定义bindsubmit事件 2.bindsubmit事件需要配合button里面定义的formType=“submit” 操作 3.设置input的n...
    99+
    2023-08-30
    微信小程序 小程序
  • Ajax提交form表单的示例分析
    这篇文章给大家分享的是有关Ajax提交form表单的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。ajax (ajax开发) AJAX即“Asynchronous Jav...
    99+
    2022-10-19
    ajax form
  • php提交表单的方法是什么
    本篇内容主要讲解“php提交表单的方法是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php提交表单的方法是什么”吧!php表单提交方法:1、使用PHP $_REQUEST收集HTML表单提...
    99+
    2023-06-20
  • form表单和ajax提交的区别有哪些
    本篇内容主要讲解“form表单和ajax提交的区别有哪些”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“form表单和ajax提交的区别有哪些”吧! ...
    99+
    2022-10-19
    form ajax
  • 如何使用layui前端框架弹出form表单以及提交
    小编给大家分享一下如何使用layui前端框架弹出form表单以及提交,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!第一步: 引用...
    99+
    2022-10-19
    layui form表单
  • java后台防止表单重复提交方法详解
    方案一:利用Session防止表单重复提交 具体的做法: 1、获取用户填写用户名和密码的页面时向后台发送一次请求,这时后台会生成唯一的随机标识号,专业术语称为Token(令牌)。2、...
    99+
    2022-12-24
    java后台防止表单重复提交 java防止表单重复提交 java利用Spring AOP和redis锁 java利用Session防止表单重复提交
  • layui中如何实现form表单提交之后重新加载数据表格
    小编给大家分享一下layui中如何实现form表单提交之后重新加载数据表格,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!如下图,...
    99+
    2022-10-19
    layui form
  • php实现提交表单后跳转页面
    对于使用PHP来处理表单的网站而言,表单提交后跳转页面是一项非常常见的功能。本文将会详细地介绍如何通过PHP来实现表单提交后跳转到指定页面。为了实现表单提交后跳转页面,我们需要按照以下步骤进行操作:定义HTML表单首先,我们需要在HTML中...
    99+
    2023-05-24
  • ajax跨域表单提交的方法
    本篇内容介绍了“ajax跨域表单提交的方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1.要在做ajax...
    99+
    2022-10-19
    ajax
  • Html表单元素提交的方法
    本文小编为大家详细介绍“Html表单元素提交的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“Html表单元素提交的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。表单:是...
    99+
    2022-10-19
    html
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作