您的位置:首页 > 编程语言 > PHP开发

表单Form提交数据和PHP数据处理

2015-12-14 00:59 711 查看
一.先来认识一下表单有那些常用元素和属性:

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详解
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  表单 php