PHP表单
- GET vs. POST
- GET 和 POST 都创建数组(例如,array( key => value, key2 => value2, key3 => value3, …))。此数组包含键/值对,其中的键是表单控件的名称,而值是来自用户的输入数据。
- GET 和 POST 被视作 $_GET 和 $_POST。它们是超全局变量,这意味着对它们的访问无需考虑作用域
- 无需任何特殊代码,您能够从任何函数、类或文件访问它们。
- $_GET 是通过 URL 参数传递到当前脚本的变量数组。
- $_POST 是通过 HTTP POST 传递到当前脚本的变量数组。
- 何时使用 GET?
- 通过 GET 方法从表单发送的信息对任何人都是可见的(所有变量名和值都显示在 URL 中)。GET 对所发送信息的数量也有限制。限制在大于 2000 个字符。不过,由于变量显示在 URL 中,把页面添加到书签中也更为方便。
- GET 可用于发送非敏感的数据。 注释:绝不能使用 GET 来发送密码或其他敏感信息!
- 何时使用 POST?
- 通过 POST 方法从表单发送的信息对其他人是不可见的(所有名称/值会被嵌入 HTTP 请求的主体中),并且对所发送信息的数量也无限制。
- 此外 POST 支持高阶功能,比如在向服务器上传文件时进行 multi-part 二进制输入。不过,由于变量未显示在 URL 中,也就无法将页面添加到书签。
高级教程
-
include文件
-
服务器端包含 (SSI) 用于创建可在多个页面重复使用的函数、页眉、页脚或元素。
- include (或 require)语句会获取指定文件中存在的所有文本/代码/标记,并复制到使用 include 语句的文件中。
- include与require的区别:
- require 会生成致命错误(E_COMPILE_ERROR)并停止脚本
- include 只生成警告(E_WARNING),并且脚本会继续
-
- 操作文件
- readfile()函数 读取文件,并把它写入输出缓冲
- fopen()函数 打开文件
- fread() 和上面的函数一样,会以一种模式(r,w,a,x,r+,w+,a+,x+)来执行后续的动作。
- fclose 关闭文件
- fgets() 读取单行文件
- feof()检测是否到达文件末尾
- fgets() 读取单个字符
- fwrite() 写入文件
- 上传脚本
-
Cookie 用于识别用户
-
setcookie() 函数用于设置 cookie。
注释:setcookie() 函数必须位于 <html> 标签之前。 语法
setcookie(name, value, expire, path, domain);
-
$_COOKIE 变量用于取回cookie值
-
-
Sessions
- session 变量用于存储有关用户会话的信息,或更改用户会话的设置。Session 变量保存的信息是单一用户的,并且可供应用程序中的所有页面使用。
-
session_start() 函数必须位于 <html> 标签之前:
<?php session_start(); ?> <html> <body> </body> </html>
- 存储Session变量-使用 PHP $_SESSION 变量。
-
终结Session 如果您希望删除某些 session 数据,可以使用 unset() 或 session_destroy() 函数。
unset() 函数用于释放指定的 session 变量
您也可以通过 session_destroy() 函数彻底终结 session
-
过滤器
- filter_var() - 通过一个指定的过滤器来过滤单一的变量
- filter_var_array() - 通过相同的或不同的过滤器来过滤多个变量
- filter_input - 获取一个输入变量,并对它进行过滤
- filter_input_array - 获取多个输入变量,并通过相同的或不同的过滤器对它们进行过滤
-
Validating 和 Sanitizing
有两种过滤器:
Validating 过滤器:
用于验证用户输入
严格的格式规则(比如 URL 或 E-Mail 验证)
如果成功则返回预期的类型,如果失败则返回 FALSE
Sanitizing 过滤器:
用于允许或禁止字符串中指定的字符
无数据格式规则
始终返回字符串