首页 > 后端开发 > php教程 > php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?

php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?

WBOY
发布: 2016-06-06 16:45:23
原创
1184 人浏览过

php

回复内容:

$_GET、$_POST函数是在php程序里从GET或POST请求中获取传值,其中GET请求可以在地址栏看到传值,而POST请求将在entity-body(消息体)传值,地址栏看不到(可以通过抓包获取,所以不要觉得POST传值就比GET传值安全)

我写了一个小程序演示GET和POST传值的异同点。在第一行输入框输入内容,点击“test get”即对服务器发出GET请求并传值,而服务器也将返回确认信息;同理,在第二行输入框输入内容,点击“test post”发出POST请求并传值,也将看到返回的确认信息。

在浏览器中看到的页面如下:
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?HTML代码:
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
【服务器确认收到GET请求的传值】
在地址栏可以清楚看到value=rabbit,截图下方也有确认收到传值的信息。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
再看看GET请求的HTTP数据包包文内容,需要传递的值“rabbit”就在请求URL里,作为参数传值(也就是你在地址栏看到的)。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
【服务器确认收到POST请求的传值】
跟上面的GET传值不同的是POST请求传值并不体现在地址栏上(所以很多人都直觉地觉得POST传值比GET安全的原因)。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?再看看POST请求的报文内容。通过直接读取数据包报文内容,可以看到请求URL并不包含任何传值的内容,这也就是为什么你在地址栏看不到的原因,而在下方消息体里,很清楚可以看到Value: rabbit。
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
虽然两种传值的方式差异甚大,但对于php程序里读取传值的方法大同小异,即通过$_GET、$_POST函数直接读取。
【附】测试程序代码:
php中$_GET和$_POST函数。值不是提交到php文件么,我咋在地址栏中看不到php后缀名?
相关标签:
php
来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板