6.1网页重定向:PHP的header()函数
任务1:HTTP协议报头
1.HTTP协议是Web的通信协议,由两个阶段组成,即请求和响应
2.头部字段可以有一个或多个字段,每个头部字段由一个域名、冒号、赋值三部分组成。
3.传统的头部字段字段一定包含下面三种字段之一
Location:xxxx:yyyy/zzzz
Content-Type:xxxx/yyyy
Status:nnnxxxxxx
其中:Location字段表示向浏览器发送重定向网页。Content-Type字段指明发送给浏览器的MIMI类型。Status字段指明向浏览器发送的状态码
任务2:PHP的header()函数
1、header()函数的作用是:发送一个原始 HTTP 标头[Http Header]到客户端。
格式:header(string,replace,http_response_code)
说明:
/*string:必需。规定要发送的报头字符串。
replace:可选。指示该报头是否替换之前的报头,或添加第二个报头。
默认是 true(替换)。false(允许相同类型的多个报头)。
http_response_code:可选。把 HTTP 响应代码强制为指定的值。*/
用法1:跳转页面:例1:
header("Location:https://baidu.com");//正常跳转
header('Refresh: 3;url=https://www.baidu.com'); //3s后跳转
//在header作跳转时,避免发生错误后,代码继续执行,一般加个exit;
用法2:声明content-type(经常拿来决解乱码)
header('content-type:text/html;charset=utf-8');
2.综合实例:
下面程序是一个包含表单的网页文件h1.php,提交数据后调用文件名为h2.php的PHP程序,来检查表单的输入是否为空。
h1.php文件的代码如下:
6.2表单验证
重点内容:文件控件相片上传部分的实现
1.网页部分:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1,maximum-scale=1,user-scalable=no">
<title>上传的例子</title>
</head>
<body>
<form id="upload-form" action="p.php" method="post" enctype="multipart/form-data" >
<input type="file" id="upload" name="upload" /> <br />
<input type="submit" value="Upload" />
</form>
</body>
</html>
2.PHP接收上传部分(原理):
<?php
header("Content-type: text/html; charset=utf-8");
echo "<pre>";
print_r($_FILES);
?>
3.PHP接收上传部分(实操):
<?PHP
header("Content-type: text/html; charset=utf-8");
$name = $_FILES['upload']['name']; //被上传文件的文件名
$tmp_name = $_FILES['upload']['tmp_name'];//存储在服务器文件临时副本名称
if(move_uploaded_file($tmp_name,$name)) $msg="文件成功上传!";
else $msg="文件上传失败!";
echo $msg;
?>