## PHP是如何处理表单的
PHP 一个很有用的特点体现在它处理 PHP 表单的方式。需要理解的非常重要的原理,是表单的任何元素都在 PHP 脚本中自动生效。请参阅本手册中“PHP 的外部变量”以获取关于在 PHP 中使用表单的详细信息及范例。以下是 HTML 表单的范例:
Example #1 一个简单的 HTML 表单
~~~
<form action="action.php" method="post">
<laber>姓名:<input type="text" name="usernname"></laber>
<laber>年龄:<input type="text" name="age"></laber>
<laber><input type="submit" value="提交"></laber>
</form>
~~~
该表单中并没有什么特殊的地方,其中没有使用任何特殊的标识符。当用户填写了该表单并点击了提交按钮,页面 action.php 将被调用。在该文件中,可以加入如下内容:
Example #2 打印来自表单的数据
~~~
<?php
你好,<?php echo htmlspecialchars($_POST['name']); ?>。
你今年hp echo (int)$_POST['age']; ?> 岁了。
?>
~~~
该脚本的输出可能是:输出的是你传递到action.php页面的
~~~
你好,Joe。你 22 岁了。
~~~
除了**htmlspecialchars() **和 **(int) **部分,这段程序做什么用显而易见。**htmlspecialchars()** 使得 HTML 之中的特殊字符被正确的编码,从而不会被使用者在页面注入 HTML 标签或者 Javascript 代码。例如 age 字段,我们明确知道他是一个数值,因此我们将它转换为一个整形值(integer)来自动的消除任何不必要的字符。也可以使用 PHP 的 filter 扩展来自动完成该工作。PHP 将自动设置 $_POST['name'] 和 $_POST['age'] 变量。在这之前我们使用了超全局变量 $_SERVER,现在我们引入了超全局变量 $_POST,它包含了所有的 POST 数据。请注意我们的表单提交数据的方法(**method**)。如果使用了 GET 方法,那么表单中的信息将被储存到超全局变量 $_GET 中。如果并不关心请求数据的来源,也可以用超全局变量 $_REQUEST,它包含了所有 **GET、POST、COOKIE 和 FILE **的数据。
也可以在 PHP 中处理 XForms 的输入,尽管用户可能更喜欢使用长久以来支持良好的 HTML 表单。XForms 目前还不适合初学者使用,但是用户可能对它感兴趣。手册中在“特点”一章有一节对如何处理从 XForum 接收到的数据进行了简短的介绍。
- 入门指引
- 简介
- PHP是什么
- PHP能做什么
- 简明教程
- 学PHP需要什么
- 我的第一个PHP页面
- 实用的PHP脚步
- PHP是如何处理表单的
- 在新版本的PHP如何实用旧的PHP代码
- 下一步需要做什么
- PHP语言参考
- PHP基本语法
- PHP标记
- PHP多进程管理-pcntl_fork
- PHP文件上传易犯错误
- PHP从HTML中分离
- PHP的指令分隔符
- PHP序列化serialize
- PHP类常量
- PHP Traits
- 从 HTML 中分离
- 注释
- PHP数据类型
- PHP支持的类型简介
- 布尔类型(Boolean)就是易经知识
- 整型(integer)即整数
- 浮点型(float)
- 字符串(string)
- 数组(Array)
- 对象(object)一定要搞
- 资源类型(resource)
- PHP安装与环境配置
- 安装前需要考虑的事项
- Unix系统下安装PHP
- Unix 系统下安装 Apache 1.3.x
- Unix 系统下安装 Apache 2.x
- Unix 系统下安装 Nginx 1.4.x
- Unix 平台安装 Lighttpd 1.4
- Sun Solaris 上的 Sun、iPlanet 和 Netscape 服务器
- CGI 命令行设置
- 针对 HP-UX 平台的安装提示
- 在 OpenBSD 系统下的安装PHP
- Debian GNU/Linux 安装说明
- 在Mac OS X 系统下安装PHP
- 使用软件包
- 使用内置的 PHP
- Windows 系统下的安装
- 云计算平台上的安装
- Microsoft Azure
- 在亚马逊(Amazon EC2)安装PHP
- PHP语法参考
- 类型
- NULL
- Callback 回调类型
- 本文档中使用的伪类型与变量
- 类型转换的判别
- PHP 类型比较表
- 常量和变量
- 语法基础
- 预定义变量
- 变量范围
- 可变变量
- 外部变量
- 常量
- 语法
- 魔术常量
- PHP表达式&运算符
- 赋值运算符
- 位运算符
- 比较运算符
- 错误控制运算符
- 执行运算符
- 递增/递减运算符
- 逻辑运算符
- 字符串运算符
- 数组运算符
- 类型运算符
- 流程控制
- continue
- switch
- declare
- return
- require
- include
- require_once