POST 请求
请求参数放在header请求头中发送, url地址看不到请求参数,适合敏感信息
通常是通过表单提交并, 用来更新服务器上的信息
适合发送大量的数据到服务器端, 长度受到配置文件限制,但比GET要大得多
服务器端脚本使用预定义变量数组 $_POST 进行接收
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>post</title>
</head>
<body>
<form action="" method="post">
<label for="email">邮箱:</label>
<!--将用户输入的内容动态添加到value字段中, 创建具有粘性的表单-->
<input type="email" id="email" name="email" value="<?php echo isset($_POST['email']) ? $_POST['email'] : ''; ?>">
<label for="password">密码:</label>
<input type="password" id="password" name="password" value="<?php echo isset($_POST['email']) ? $_POST['email'] : '';?>">
<button>登录</button>
</form>
</body>
</html>
<?php
// POST请求, 参数不是通过URL传递, 而是通过请求头
// 获取通过url发送的变量参数, php通过超全局变量$_POST获取
// $_POST是一个数组,键名就是POST参数名
// 键名=>变量名, 值=>变量值
// print_r()格式化打印输出一个数组
print_r($_POST);
echo $_POST['email'];
// 获取变量之前要进行判断,用isset()
if (isset($_POST['email'])) {
echo $_POST['email'];
} else { // 给个默认值
$_POST['email'] = '';
}
// 与js类似,可以用三元运算符进行简化
echo isset($_POST['email']) ? $_POST['email'] : '';
// 使用<pre>标签,在网页中可以实现格式化输出
echo '<pre>';
print_r($_POST);
?>