PHP获取表单提交内容
表单靠 method 决定怎么传数据,post 提交就用 $_POST 接,get 提交就用 $_GET 接。$_POST 里的键名,就是 input 的 name 值,一个对一个。
如果直接取一个还没提交的值,就会报 Undefined index 警告,所以先用 isset 判断一下,稳一点。
<!-- 表单页面 form.html -->
<form action="get.php" method="post">
昵称:<input type="text" name="nick">
密码:<input type="password" name="pwd">
爱好:<input type="checkbox" name="hobby[]" value="游戏">游戏
<input type="submit" value="提交">
</form><?php
// get.php 接收端
if (isset($_POST['nick'])) {
$nick = trim($_POST['nick']); // 去掉前后空格
$pwd = $_POST['pwd'];
// 输出前转义,防止内容被当成 HTML 标签执行
echo '昵称:' . htmlspecialchars($nick) . '<br>';
echo '密码长度:' . strlen($pwd);
// 同名复选框带 [] 的,收到的是数组
if (isset($_POST['hobby'])) {
print_r($_POST['hobby']);
}
} else {
echo '没收到数据,别直接访问这个页面';
}
?>GET 就是从网址后面拿参数,$_GET['id'] 对应 index.php?id=5;POST 的数据藏在请求体里,网址上看不到。$_REQUEST 是 GET、POST、Cookie 全收,图省事能用,但出了问题不好查,知道有这么个东西就行。
说点什么 0