一.先来认识一下表单有那些常用元素和属性:
1.<from 表单的属性有:
name="表单名称" ,非必须但是为避免混乱,不同表单尽量用不同的名字,且应该与表单的功能相符;
action="表单提交地址",真正处理表单的数据脚本和程序,可以是*.php\*.html\*.asp\mailto:等等;
method="数据提交方式",get\post,两者区别还不知道就该自己认认真真去查了;
enctype="表单信息提交的编码方式",
取值:text/plain–以纯文本的形式传送,application/x-www-from-urlencoded–默认的编码方式,multipart/form-data –MIME编码,上传文件的表单必须选择他;就是form里设置enctype=”multipart/form-data”,这样才能在提交表单时,将文件以二进制流的形式传输到服务器;
target="目标窗口打开方式",_blank 、_parent、_self、 _top;>

2.<input ,输入类的控件
type=”控件类型” ://text文本输入框 | password密码输入框,(文本类参数有:name,size,maxlength,value);//button按钮(name,value , onclick) | submit提交按钮(name , value) | reset重置按钮(name , value) | radio单选按钮(name必须设置相同 , value,checked只能有一项被设置,设置多个时,选中的为最后一个) | checkbox复选按钮(name设置相同 , value ,checked可以设置多个,都为选中状态) | image图像按钮(src ,name) | hidden 隐藏域,主要用来传递一些数据,不会显示在页面中(name, value)>
3.文本域<textarea name="文本域名称" rows="10" cols="30"></textarea >
4.下拉菜单:指定被选择的选项selected,只有一个
<form>
<select name="cars">
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected="selected">Fiat</option>
<option value="audi">Audi</option>
</select>
</form>

5.列表项:与下拉相似,不同的是它可以在页面上显示多个选择项且可以多选,size页面中最多列表项数,
multiple 则表示可以多项选择

<select name="cars" size="3" multiple >
<option value="volvo">Volvo</option>
<option value="saab">Saab</option>
<option value="fiat" selected="selected">Fiat</option>
<option value="audi">Audi</option>
</select>

二.表单提交数据的处理
1.html页面提交表单:

<html>
<body><form action="welcome.php" method="post">Name: <input type="text" name="name"><br>E-mail: <input type="text" name="email"><br><input type="submit">
</form>
</body>
</html>

对应的PHP页面处理数据(只是简单的返回):

<html><head><title></title><meta charset="utf-8"></head><body><p>姓名:</p><?php echo $_POST["name"]; ?><p>邮箱:</p><?php echo $_POST["email"]; ?></body>
</html>

还可以设置变量接收数据如:$data=$_POST["name"],再把数据存入数据库或者进行其它操作,如购物的订单信息,返回给顾客确认后,存入数据库,打印订单,日后查询都可以。这就是后端干的事了。
注意,$_POST与method=”post”要一致,[“name”]与name=”name”要一致
2.表单验证(很重要,尤其是安全性),现在HTML5已经改良了input元素,可以在type属性上设置,
如E-mail:<input type="email" name="email">
就可以验证你输入的是不是邮箱格式;当然更精确详细的验证,可以借助javaScript、php。
php验证名字:

$name = test_input($_POST["name"]);
if (!preg_match("/^[a-zA-Z ]*$/",$name)) {$nameErr = "只允许字母和空格!";
}

php验证邮箱:

$email = test_input($_POST["email"]);
if (!preg_match("/([\w\-]+\@[\w\-]+\.[\w\-]+)/",$email)) {$emailErr = "无效的 email 格式!";
}

php验证URL:

$website = test_input($_POST["website"]);
if (!preg_match("/\b(?:(?:https?|ftp):\/\/|www\.)[-a-z0-9+&@#\/%?=~_|!:,.;]*[-a-z0-9+&@#\/%
=~_|]/i",$website)) {$websiteErr = "无效的 URL";
}

MIME详解

表单Form提交数据和PHP数据处理相关推荐

  1. js实现表单form提交前进行确认提示

    在jquery中,可以使用confirm来弹出提示框,实现确认提交.下面小编举例讲解js实现表单form提交前进行确认提示. 工具/原料 js+html 代码编辑器:zend studio 10.0 ...

  2. 表单form提交前弹出确认对话框

    表单form提交前进弹出确认对话框 定义一个函数: <script language="javascript"> function sumbit_sure(){ var ...

  3. Ajax(jQuery封装),表单form提交(Ajax),art-template模板引擎,原生Ajax,XML和JSON,axios,跨域和JSONP,防抖和节流,HTTP协议

    目录 服务器基本概念 1.URL 2.URL地址的组成部分 3. 图解客户端与服务器的通信过程 4.网页中如何请求数据 5.资源的请求方式 Ajax jQuery中的Ajax 1. $.get()函数 ...

  4. form表单只提交数据而不进行页面跳转的解决方案

    转载 将数据提交到saveReport(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢?利用jquery的ajaxSubmit函数以及form的onsubmit函数完成 ...

  5. jQuery中ajax用form表单方式提交数据

    给表单加ID值,如图: 写ajax方法,如图: servlet返回是否添加成功,如图: jsp页面 <div class="modal-content"><div ...

  6. ajax提交成功清空表单,Ajax提交数据后,清空form表单

    按钮不同,页面相同,还需要显示的数据不同,这里会由于页面的缓存问题,导致,每次点开这个页面显示的数据相同. 这不是我们想要的.这就需要清楚表单数据了. 如下: $('#myform')[0].rese ...

  7. 使用form 表单+aja提交数据无返回结果-你真的了解点击事件属性值submit和button吗?

    下午写项目 遇到了一个问题 ,使用ajax提交数据,后台能拿到数据, 但是一直无法进入回调函数,浪费了一个多小时的时间都没有解决. 点击事件的时候,属性不能为submit. 因为属性submit会提交 ...

  8. jquery表单form提交阻止页面全部刷新

    首先明确一点:form表单下,如果是针对form元素进行提交,整个页面都会刷新. 所以出现的问题是:当用户往输入框内输入内容分后,按回车或者点击提交按钮,往当前页面输出内容的局部刷新会被之后的整个页面 ...

  9. 表单form类型数据转换为数组array

    Http的请求类型: Content-Type: application/x-www-form-urlencoded 数据格式比如: mc_gross=399.00&protection_el ...

最新文章

  1. excel重复上一步快捷键_初学Excel办公软件重复上次的操作
  2. 怎么判断网络回路_电源纹波要怎么测?
  3. python 测试框架
  4. 还不会制作游戏脚本解放双手?那是你不会超强自动化框架AirTest!
  5. xftp5安装注册教程
  6. LinuxROS与Android哪个重要?
  7. 用Python实现一个简单的批量无水印快手抖音批量下载器
  8. 用游戏编辑器制作MOD脱颖而出
  9. cad打印本计算机未配置,为什么CAD点打印的时候会警告无法使用此绘图仪配置?...
  10. 前端开发实习面试题(Vue篇)
  11. 平凡的生活,不平凡的2020
  12. 将Excel文件导入到数据库中
  13. 2012第33周国内Android应用下载动态
  14. 02 - 语义网络,语义网,链接数据和知识图谱
  15. 关于ImportError: No module named ‘tensorflow‘报错的解决
  16. HTML-图文排版如何以代码实现
  17. wcp默认安装的mysql密码_WCP知识库系统部署和使用总结
  18. POJ海贼王之伟大航路(dfs)
  19. mysql 用source导入sql脚本报错ASCII appeared in the statement, but this is not allowed unless op
  20. 计算机博士 英语词汇,2017考博英语词汇

热门文章

  1. Python 路径操作
  2. SAP 批导长文本字段自动和手动换行
  3. 正则表达式的语法规则及使用
  4. MySQL中联合索引问题,
  5. Matlab矩阵和数组的操作
  6. 矩阵的定义——MATLAB
  7. (42)2021-03-01(物体运动、swiper软件、自执行函数)
  8. 黑群辉DSM 6.2.3 系统安装
  9. 热门Java开发工具IDEA入门指南——IntelliJ IDEA概述(下)
  10. 黑马C++学习总结之对象的初始化和清理