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

一.先来认识一下表单有那些常用元素和属性:
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详解

  • 5
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值