Home > php教程 > php手册 > 第十一章 表单与验证

第十一章 表单与验证

WBOY
Release: 2016-06-13 09:37:12
Original
942 people have browsed it

 

学习要点:
1.Header()函数
2.接收及验证数据

 

我们对Web 感兴趣,认为它有用的原因是其主要通过基于HTML 的表单发布和收集信
息的能力。这些表单用来鼓励网站的反馈、进行论坛会话、收集在线定购的邮件地址,等等。
但是对HTML 表单进行编码只是有效接受用户输入的必须操作的一部分,必须由服务器端
组件来处理输入。

 

一.Header()函数

标头(header) 是服务器以HTTP 协议传HTML 资料到浏览器前所送出的字符串,在
标头与HTML 文件之间尚需空一行分隔。
1.用于重新导向指定的URL

<?<span php
</span><span header</span>('Location:http://www.baidu.com'<span );
</span>?>
Copy after login

2.用于设置页面字符编码

<?<span php
</span><span header</span>('Content-Type: text/html; charset=gbk'<span );
</span><span echo</span> '嘿嘿,我是中文!页面编码是GBK,文件也是GBK'<span ;
</span>?>
Copy after login

注意:除非启用了输出缓冲,否则这些命令必须在返回任何输出之前执行。
启用输出缓冲:ob_start()

<?<span php
</span><span ob_start</span><span ();
</span>?>
Copy after login

二.接受及验证数据

GET 与POST
处理表单时,必须指定输入到表单的信息以何种方式传输到其目的地( method="")。
对此,Web 开发人员可以采用GET 和POST。使用GET 方法发送数据时,所有域都追加
到浏览器的URL 后面,并且为数据随URL 地址发送。采用POST 方法时,值会作为标准
值发送。
PHP 分别使用$_GET 和$_POST 超全局变量来处理GET 和POST 变量。通过使用这
两个超全局变量,可以准确地指定信息应当来自哪里,并以你希望的方式处理数据。
使用$_GET 或$_POST 来接收数据
  1.$_GET['username'],发送的表单method 必须是get;
  2.$_POST['username'],发送的表单method 必须是post;
  3.采用isset()来验证$_GET['username']超级全局变量是否定义;
  4.使用htmlspecialchars()函数将HTML 特殊字符进行过滤。
对数据有效性进行验证
  1.使用函数trim()去除数据的前后空格;
  2.使用函数strlen()判断数据的长度;
  3.使用函数is_numeric()判断数据是纯数字;
  4.使用正则表达式验证邮箱是否合法。

<?<span php
</span><span if</span> (!<span isset</span>(<span $_POST</span>['send']) || <span $_POST</span>['send']!='提交'<span ) {
    </span><span header</span>('Location:Demo1.php'<span );
    </span><span exit</span><span ;
}
</span><span if</span> (<span preg_match</span>('/([\w\.]{2,255})@([\w\-]{1,255}).([a-z]{2,4})/',<span $_POST</span>['email'<span ])) {
    </span><span echo</span> '电子邮件合法'<span ;
} </span><span else</span><span  {
    </span><span echo</span> '电子邮件不合法'<span ;
}
</span>?>
Copy after login

注:文章出自李炎恢PHP视频教程,本文仅限交流使用,不得用于商业用途,否则后果自负。

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template