表单Form提交数据和PHP数据处理
一.先来认识一下表单有那些常用元素和属性:
1.<from 表单的属性有:
取值:text/plain–以纯文本的形式传送,application/x-www-from-urlencoded–默认的编码方式,multipart/form-data –MIME编码,上传文件的表单必须选择他;就是form里设置enctype=”multipart/form-data”,这样才能在提交表单时,将文件以二进制流的形式传输到服务器;
name="表单名称" ,非必须但是为避免混乱,不同表单尽量用不同的名字,且应该与表单的功能相符;
action="表单提交地址",真正处理表单的数据脚本和程序,可以是*.php\*.html\*.asp\mailto:等等;
method="数据提交方式",get\post,两者区别还不知道就该自己认认真真去查了;
enctype="表单信息提交的编码方式",
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数据处理相关推荐
- js实现表单form提交前进行确认提示
在jquery中,可以使用confirm来弹出提示框,实现确认提交.下面小编举例讲解js实现表单form提交前进行确认提示. 工具/原料 js+html 代码编辑器:zend studio 10.0 ...
- 表单form提交前弹出确认对话框
表单form提交前进弹出确认对话框 定义一个函数: <script language="javascript"> function sumbit_sure(){ var ...
- Ajax(jQuery封装),表单form提交(Ajax),art-template模板引擎,原生Ajax,XML和JSON,axios,跨域和JSONP,防抖和节流,HTTP协议
目录 服务器基本概念 1.URL 2.URL地址的组成部分 3. 图解客户端与服务器的通信过程 4.网页中如何请求数据 5.资源的请求方式 Ajax jQuery中的Ajax 1. $.get()函数 ...
- form表单只提交数据而不进行页面跳转的解决方案
转载 将数据提交到saveReport(form的action指向)页面,但是页面又不进行跳转,即保持当前页面不变呢?利用jquery的ajaxSubmit函数以及form的onsubmit函数完成 ...
- jQuery中ajax用form表单方式提交数据
给表单加ID值,如图: 写ajax方法,如图: servlet返回是否添加成功,如图: jsp页面 <div class="modal-content"><div ...
- ajax提交成功清空表单,Ajax提交数据后,清空form表单
按钮不同,页面相同,还需要显示的数据不同,这里会由于页面的缓存问题,导致,每次点开这个页面显示的数据相同. 这不是我们想要的.这就需要清楚表单数据了. 如下: $('#myform')[0].rese ...
- 使用form 表单+aja提交数据无返回结果-你真的了解点击事件属性值submit和button吗?
下午写项目 遇到了一个问题 ,使用ajax提交数据,后台能拿到数据, 但是一直无法进入回调函数,浪费了一个多小时的时间都没有解决. 点击事件的时候,属性不能为submit. 因为属性submit会提交 ...
- jquery表单form提交阻止页面全部刷新
首先明确一点:form表单下,如果是针对form元素进行提交,整个页面都会刷新. 所以出现的问题是:当用户往输入框内输入内容分后,按回车或者点击提交按钮,往当前页面输出内容的局部刷新会被之后的整个页面 ...
- 表单form类型数据转换为数组array
Http的请求类型: Content-Type: application/x-www-form-urlencoded 数据格式比如: mc_gross=399.00&protection_el ...
最新文章
- excel重复上一步快捷键_初学Excel办公软件重复上次的操作
- 怎么判断网络回路_电源纹波要怎么测?
- python 测试框架
- 还不会制作游戏脚本解放双手?那是你不会超强自动化框架AirTest!
- xftp5安装注册教程
- LinuxROS与Android哪个重要?
- 用Python实现一个简单的批量无水印快手抖音批量下载器
- 用游戏编辑器制作MOD脱颖而出
- cad打印本计算机未配置,为什么CAD点打印的时候会警告无法使用此绘图仪配置?...
- 前端开发实习面试题(Vue篇)
- 平凡的生活,不平凡的2020
- 将Excel文件导入到数据库中
- 2012第33周国内Android应用下载动态
- 02 - 语义网络,语义网,链接数据和知识图谱
- 关于ImportError: No module named ‘tensorflow‘报错的解决
- HTML-图文排版如何以代码实现
- wcp默认安装的mysql密码_WCP知识库系统部署和使用总结
- POJ海贼王之伟大航路(dfs)
- mysql 用source导入sql脚本报错ASCII appeared in the statement, but this is not allowed unless op
- 计算机博士 英语词汇,2017考博英语词汇