0
点赞
收藏
分享

微信扫一扫

从零基础开始学习PHP(九)

心存浪漫 2022-10-17 阅读 104

        咳咳、我有来更新文章了。被寒冷封印了太久、需要出来活动活动。嗯、首先感谢一直关注本订阅号的各位哥哥姐姐、其次也要对能够坚持学习的同学打个逗号、因为学习是无限制的、如果整个人类都在进化、那么你不学习、必将被淘汰。比你有钱的人比你还努力、这就是你学习的动力。每天花点时间探究新的知识、哪怕只是进步一点点。


从零基础开始学习PHP(九)_表单


表单与HTTP协议的应用

目标

       掌握常用的web请求方式、GET、POST

难点

       无

重点

       表单的处理

本节目录

1、什么是HTTP协议?

2、GET和POST的区别?

3、什么是表单处理?

4、表单与HTTP协议总结

  • 什么是HTTP?

在学表单之前、需要对HTTP有一定的认识、所谓的表单提交。就是客服端和服务端打交道、中间的过程就是使用的HTTP协议。HTTP协议是遵循应用层的一个规范、如果两者要进行通信、就必须得遵守这个规范、这就是HTTP协议。

HTTP是如何进行通信的?首先客户端向服务端发送一个请求(Request)、服务端接收到请求之后、作出相应的处理、然后返回(response)给客户端。如下图:


在上图中可以看到HTTP的请求方式、常见的GET和POST。那么什么是GET?什么又是POST呢?GET和POST是一种方法、是HTTP通信响应的支撑。GET方式请求如下:http://www.demo.php?name=joki&age=18、这种方式请求时、参数是可见的、使用这种方式提交的数据有以下几点不足:1、安全(因为参数是可见的、容易被截取)、2、请求的长度有限制、3、不能用于传输二进制数据。那么POST的方式呢?POST方式请求是不可见的、所有请求信息、均在headers中。且长度理论上是没有限制的、所以作为数据请求时、建议使用POST方式请求。当然选择什么样的请求方式、需要根据自己的业务场景来使用的。

  • GET和POST的区别?

1、传输方式不同、一种以明文可见的、一种是不可见的

2、传送数据的量不同、GET通常是有限制的、而POST没有限制(服务器而决定传输的大小)

3、安全性、由于GET方式的参数是可见的、因此容易被截取、然后POST参数是不可见的、因此相对于GET方式来说、较为安全。

  • 表单的处理

上面简单介绍了下HTTP的请求方式、那么接下来所要讲到的、就是和HTTP协议有关的:表单处理、什么是表单处理呢?表单处理就是如何向服务器提交数据、和如何获得返回的数据?用表单的方式来举例HTTP、这是一个很好的方式。下面我将用代码的形式来呈现表单的应用场景。

1、新建一个form.html文件、如下:

2、<!DOCTYPE html>  
3、<html>
4、 <head>
5、 <meta charset="UTF-8">
6、 <title></title>
7、 </head>
8、 <body>
9、 <center>
10、 <!--action 表示的是提交的地址、需要将信息提交到哪里? method 表示的是提交方式、post或者get方式-->
11、 <form action="postform.php" method="post">
12、 <!--input 表单中 name表示的是当前表单的名字、例如:age 代表年龄-->
13、 姓名:<input type="text" name="name" /><br />
14、 年龄:<input type="text" name="age" /><br />
15、 <input type="submit" value="提交"/><!--出发提交的按钮-->
16、 </form>
17、 </center>
18、 </body>
19、</html>

上述代码预览效果如下:


然后新建一个postform.php文件、用于接收form.html提交过来的数据信息、如下:

1.   <?php  
2. //处理编码问题
3. header("Content-type:text/html;charset=utf-8");
4. //打印form.html提交过来的数据
5. var_dump($_POST); // array(2) { ["name"]=> string(6) "张超" ["age"]=> string(2) "18" }
6.
7. //当我们输入信息之后提交、会打印出一个关联数组
8.
9. //输出name
10.var_dump($_POST['name']);//string(6) "张超"

通过数代码、我们发现URL地址没有任何变化、只是变换了一个地址而已。其实当我们使用工具进行查看的时候、会发现、其实是请求了一个地址的:



当我们切换到请求的地址的时候、参数已经被传递过去了。所有信息都包含在了headers里面。这就是post的方式提交的表单、那么GET方式的又是怎么样的呢?首先就拿刚才的页面和代码来演示、如下图:


可以清晰的看到、参数是在url地址上、且一目了然。看下我们在postform.php文件中的代码:

 

1.   <?php  
2. //处理编码问题
3. header("Content-type:text/html;charset=utf-8");
4. //打印form.html提交过来的数据
5. var_dump($_GET); // array(2) { ["name"]=> string(6) "张超" ["age"]=> string(2) "18" }
6.
7. //当我们输入信息之后提交、会打印出一个关联数组
8.
9. //输出name
10.var_dump($_GET['name']);//string(6) "张超"

代码还是刚才的代码、变动的只是接受请求数据的变量而已。在PHP中、$_POST用来获取post请求的数据、而$_GET用来请求get方式请求的数据、当然在PHP中有很多这样的超全局变量、其中$_REQUEST可以用来获得GET和POST的请求方式的数据。全局变量如下:


$GLOBALS

引用全局变量中可用的变量

$_SERVER

保存着关于报头、路径、脚本等位置信息

$_REQUEST

用于收集表单的提交

$_POST


$_GET


$_FILES

处理文件的上传

$_SESSION

一种网络会话

$_COOKIE


 

  • 表单与HTTP协议总结

通过上述的简单讲解、相信对表单处理和HTTP协议上都有了一定的认识、那么现在我们来总结下、本节的重点与难点分析:

       本节的重点在于如何应用表单、而不在于如何深入研究HTTP协议、目前只需要掌握表单处理的基本知识、相信在后面的实际项目中、大家会更好的去理解这些理论知识。在表单应用中、表单的提交方式、默认为GET方式提交、如果设置、就是GET方式。对于服务端来说、PHP提供了很多有关如何获取提交的信息的函数、可以根据自己的项目需要来选择使用。


本课程现不定时更新、敬请各位谅解!如果你觉得本文对你有帮助、那就推荐给你的朋友吧!

从零基础开始学习PHP(九)_php_02

举报

相关推荐

0 条评论