php学习3

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>

单选按钮

复选按钮

选择框

5.自己写的注册(第一版本)

register.php

register1.php

6.老师写的注册

客户端和服务端的页面流程

版本1

版本2

7.自己默写的注册(第二版本)

8.文件上传

了解


服务端获取文件数据


error返回值说明

实现上传文件

post_max_size和upload_max_filesize配置

配置请求体大小

配置上传文件的大小

转载于:https://my.oschina.net/u/4007307/blog/2364525

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值