关于表单提交的问题

1,关于表单提交地址问题

demo.php

<?php
    if($_SERVER['REQUEST_METHOD']==='POST')
    {
        var_dump($_POST); //请求的方式是 POST,当前是点击按钮产生的请求
    }
?>
//表单的处理逻辑

<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>登陆</title> </head> <body> //<form action="demo.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>登陆</button> </form> </body> </html>

①将表单的处理逻辑放在HTML之前,为了更灵活的控制HTML的输出

②因为对于表单的处理逻辑不是每一次都需要执行,所以一般会判断请求的方式,从而决定是否执行对数据的处理

③一般为了便于维护,我们将表单提交给当前页面本身

2,关于表单提交方式问题

①请求的方式不同

②传参方式不同, get 用 url 传参数 , post 用请求体传参数

③GET:

  表单数据是通过URL中的 ? 参数传递到服务端的

  可以在地址栏中看到提交的内容

  数据长度有限制,  因为URL 地址长度有限(2000个字符)

④POST:

  表单数据是通过请求体传递到服务端的,我们在界面上看不到

  可以提交任何类型的数据,  包括文件

   由于界面上看不到, 浏览器也不储存 , 所以更安全

  注意, 绝不能使用GET来发送密码或其他敏感信息 , 要用 POST

  应该想清楚这次请求主要是去拿东西 ,  还是去送东西

原文地址:https://www.cnblogs.com/shanlu0000/p/11581055.html