php表单学习
1.提交数据到后台
简单的表单
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="login.php" method="post">
<div>
<label for="username">用户名</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="password">密码</label>
<input type="password" id="password" name="password">
</div>
<button type="submit">登录</button>
</form>
</body>
</html>
简单的接受表单数据
<?php
// 获取客户端用户提交的数据
// 由于请求的数据是通过请求体提交的
var_dump($_POST);
2.将表单的处理逻辑放在HTML之前
php超全局变量:http://www.w3school.com.cn/php/php_superglobals.asp
<?php
// // 将表单的处理逻辑放在HTML之前,为了更灵活的控制 HTML 的输出
// var_dump($_POST);
// 因为对于表单的处理逻辑不是每一次都需要执行,
// 所以一般我们会判断请求的方式,从而决定是否执行对数据的处理
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// 请求的方式是 POST,当前是点击按钮产生的请求
var_dump($_POST);
}
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<!-- 一般为了便于维护,我们将表单提交给当前页面本身 -->
<!-- <form action="02-form-action.php" method="post"> -->
<!-- 由于文件重命名会导致代码修改,鲁棒性不强 -->
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div>
<label for="username">用户名</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="password">密码</label>
<input type="password" id="password" name="password">
</div>
<button type="submit">登录</button>
</form>
</body>
</html>
#** 3.请求的方式不同显示的地方就不一样**
<?php
// if ($_SERVER['REQUEST_METHOD'] === 'POST') {
// var_dump($_POST);
// }
// 1. 请求的方式不同
// 2. 传参方式不同,get 用 url 传参数,post 用 请求体 传参
var_dump($_GET);
var_dump($_POST);
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>登录</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<div>
<label for="username">用户名</label>
<input type="text" id="username" name="username">
</div>
<div>
<label for="password">密码</label>
<input type="password" id="password" name="password">
</div>
<button type="submit">登录</button>
</form>
</body>
</html>
GET
POST
4.常用的表单标签
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
var_dump($_POST);
}
// $foo[] = 1
?>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>表单</title>
</head>
<body>
<form action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
<!-- <input type="text" name="key1" id=""> -->
<!-- <input type="password" name="key1" id="">
<input type="email" name="key1" id="">
<input type="number" name="key1" id="">
<input type="number" name="key1" id=""> -->
<!-- <textarea name="key2" id="" cols="30" rows="10"></textarea> -->
<!-- 当表单中使用了 radio ,一定要为相同 name 的 radio 设置不同的 value,让服务端可以辨别 -->
性别
<label><input type="radio" name="gender" value="male"> 男</label>
<label><input type="radio" name="gender" value="female"> 女</label>
<br>
<!-- checkbox 如果没有选中则不会提交,如果选中提交 on -->
<label><input type="checkbox" name="agree" value="true"> 同意协议</label>
<br>
<!-- 如果需要同时提交多个选中项,可以在 name 属性后面 跟上 [] : -->
<label><input type="checkbox" name="funs[]" value="football"> 足球</label>
<label><input type="checkbox" name="funs[]" value="basketball"> 篮球</label>
<label><input type="checkbox" name="funs[]" value="earth"> 地球</label>
<br>
<select name="status">
<!‐‐ 没有设置 value 提交 innerText ‐‐>
<option>激活</option>
<option>未激活</option>
<!‐‐ 设置 value 提交 value ‐‐>
<option value="1">待激活</option>
</select>
<br>
<input type="file" name="" id="">
<button>提交</button>
</form>
</body>
</html>