1. header()
header(string $string, bool $replace = true, int $response_code = ?): void
header() 是 PHP 系统函数,用于向客户端发送原始的 HTTP 响应报文头。
请注意 header() 必须在任何实际输出之前调用,不管是普通的 HTML 标签,还是文件或 PHP 输出的空行,空格。
header() 函数常用功能:
1)设置文档类型及编码
// header("HTTP/1.1 404 Not Found");// header("HTTP/1.1 200 OK");header("content-type:text/html;charset=utf8");echo "你好";
| 文件扩展名 | Content-Type(Mime-Type) | 描述 | 
|---|---|---|
| .txt | text/plain | 纯文本类型 | 
| .html | text/html | 文本的HTML类型 | 
| .xml | text/xml | 文本的XML类型 | 
| .jpg、.jpeg | image/jpeg | jpeg格式的图像类型 | 
| .gif | image/gif | gif格式的图像类型 | 
| .png | image/png | png格式的图像类型 | 
| .ppt | application/vnd.ms-powerpoint | microsoft powerpoint类型 | 
| application/pdf | pdf文档类型 | |
| .mp3 | audio/mp3 | mp3音频文件类型 | 
| .mp4 | video/mpeg4 | mp4视频文件类型 | 
| .avi | video/avi | avi视频文件类型 | 
2)页面重定向
header("location:http://www.baidu.com");
2. 字符串拼接
.运算符
通过 点运算符,可以将字符串和另一个值进行拼接 ,另一个值可以是字符串,可以是其它类型数据
如果是数组,会弹出一个警告,并且拼接内容 只有 Array, 并不会拼接数据中的内容 .
```php echo “hello” . “ world”; echo “
“;
echo “PHP” . 7.2;
echo “
“;
// 拼接时, 连接符两侧必须要有空格
// echo 100.”hello”;
echo “
“;
// 不会拼接数组中的内容
$arr = array(1,2,3,4,5);
echo “Array:” . $arr;
echo “
“;
// 不会拼接数组中的内容 $strs = array(“aa”,”bb”,”cc”); echo “Array:” . $strs;
- 内嵌变量<br />PHP 中.可以通过在双引号字符串中 使用 `{ }`来限定变量的使用,防止字符串与变量名混淆.```php$v = 7.2;echo "PHP {$v}";echo "<br>";// 也不会展开拼接数组中的内容$arr = array(1,2,3,4,5);echo "Array: {$arr}";echo "<br>";// 也不会展开拼接数组中的内容$strs = array("aa","bb","cc");var_dump("Array: {$strs}")
3. PHP表单处理
表单是 PHP 与 Web 页面交互的方法之一,而表单提交数据有两种请求方式,即 GET 请求方式和 POST 请求方式。
针对于表单的两种提交方式, PHP 提供了三个全局变量,分别为 _POST、$_REQUEST,用于获得表单提交的数据。
4.请求参数
http get请求方式 ,会将请求数据,以键值对的形式,拼接到URL后,服务器接收之后,可以获取客户端提供的数据
http://www.baidu.com/?username=tom&passwd=123123// http://www.baidu.com/ 请求的主机地址// ? 连接符, 表示后面是请求时携带的数据, 也称为查询参数 / 查询字符串 (Query String)// username=tom&passwd=123123 查询字符串,以键值对形式表示 key=value// & 查询字符串中,多个键值对,使用 & 进行接连
5. $_GET
$变量 = $_GET["表单元素名"];
$_GET 是 一个数组类型变量, 用于获得表单 GET 请求方式提交的数据。
通过 URL 参数(又叫 query string)传递给当前脚本的变量的数组。
注意:该数组不仅仅对 method 为 GET 的请求生效,而是会针对所有带 query string 的请求。
示例:
index.html 文件
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><!-- HTML 页面中的表单,用来收集数据,并发送给服务器的test.php接口进行处理 --><form action="login.php" method="GET"><p>姓名: <input type="text" name="username" id="n"></p><p>密码: <input type="password" name="passwd" id="p"></p><p><input type="submit" value="提交"></p></form></body></html>
login.php 文件
<?php// 向客户端发送响应头信息header("Content-Type:text/html;charset=utf-8");// 获取客户端提交的查询参数数据$username = $_GET["username"];$passwd = $_GET["passwd"];echo "登陆成功";echo "<br>";echo "登陆用户名为:{$username}";echo "<br>";echo "登陆密码为:{$passwd}";?>
6. $_POST
$变量 = $_POST["表单元素名"];
$_POST 用于获得表单 POST 请求方式提交的数据。
当 HTTP POST 请求的 Content-Type 是 application/x-www-form-urlencoded 或 multipart/form-data 时,会将变量以关联数组形式传入当前脚本。
示例
index.html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><!-- HTML 页面中的表单,用来收集数据,并发送给服务器的test.php接口进行处理 --><form action="login.php" method="POST"><!-- 在post请求中,也可以在请求地址中添加查询字符串,也可以通过 $_GET 获取,但并不是 Get请求 --><!-- <form action="test.php?test=testestestestest" method="POST"> --><p>姓名: <input type="text" name="username" id="n"></p><p>密码: <input type="password" name="passwd" id="p"></p><p><input type="submit" value="提交"></p></form></body></html>
login.php
<?php// 向客户端发送响应头信息header("Content-Type:text/html;charset=utf-8");// 获取客户端提交的查询参数数据$username = $_POST["username"];$passwd = $_POST["passwd"];echo "登陆成功";echo "<br>";echo "登陆用户名为:{$username}";echo "<br>";echo "登陆密码为:{$passwd}";echo "<br>";echo "POST方式提交时,携带的查询参数字符串:{$_GET['test']}"?>
7. $_REQUEST
$变量 = $_REQUEST["表单元素名"];
$_REQUEST 用于获得表单任何请求方式提交的数据。
示例
index.html
<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>Document</title></head><body><!-- HTML 页面中的表单,用来收集数据,并发送给服务器的test.php接口进行处理 --><!-- GET 方式发起请求 --><!-- <form action="test.php" method="get"> --><!-- POST 方式发起请求 --><!-- <form action="test.php" method="POST"> --><!-- 在post请求中,也可以在请求地址中添加查询字符串,也可以通过 $_GET 获取,但并不是 Get请求 --><form action="login.php?test=testestestestest" method="POST"><p>姓名: <input type="text" name="username" id="n"></p><p>密码: <input type="password" name="passwd" id="p"></p><p><input type="submit" value="提交"></p></form></body></html>
login.php
<?php// 向客户端发送响应头信息header("Content-Type:text/html;charset=utf-8");// 获取客户端提交的查询参数数据$username = $_REQUEST["username"];$passwd = $_REQUEST["passwd"];echo "登陆成功";echo "<br>";echo "登陆用户名为:{$username}";echo "<br>";echo "登陆密码为:{$passwd}";echo "<br>";echo "POST方式提交时,携带的查询参数字符串:{$_REQUEST['test']}"?>
