表单Form提交数据和PHP数据处理
2015-12-14 00:59
711 查看
一.先来认识一下表单有那些常用元素和属性:
1.
2.
3.文本域
4.下拉菜单:指定被选择的选项selected,只有一个
5.列表项:与下拉相似,不同的是它可以在页面上显示多个选择项且可以多选,size页面中最多列表项数,
multiple 则表示可以多项选择
二.表单提交数据的处理
1.html页面提交表单:
对应的PHP页面处理数据(只是简单的返回):
还可以设置变量接收数据如:
注意,$_POST与method=”post”要一致,[“name”]与name=”name”要一致
2.表单验证(很重要,尤其是安全性),现在HTML5已经改良了input元素,可以在type属性上设置,
如E-mail:
就可以验证你输入的是不是邮箱格式;当然更精确详细的验证,可以借助javaScript、php。
php验证名字:
php验证邮箱:
php验证URL:
MIME详解
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详解
相关文章推荐
- 一个关于if else容易迷惑的问题
- PHP5.2.*防止Hash冲突拒绝服务攻击的Patch
- 深入理解PHP之匿名函数
- JSP/PHP基于Ajax的分页功能实现
- 关于PHP通过PDO用中文条件查询MySQL的问题。
- 什么是设计模式
- PHP数据库长连接mysql_pconnect的细节
- Php Installing An Expansion
- 在线用表单建立文件夹
- Jquery 表单取值赋值的一些基本操作
- PHP+Apache在Windows 9x下的安装和配置
- IIS 6 的 PHP 最佳配置方法
- 安装Apache和PHP的一些补充
- Linux Apache+MySQL+PHP
- 建立Apache+PHP+MySQL数据库驱动的动态网站
- PHP 5.3.0 安装分析心得
- apache 环境下 php 的配置注意事项
- javascript 表单的友好用户体现
- js 提交和设置表单的值