发布和获取指的是页面提交的两种方式。
(推荐教程:php实战视频教程)
Get:参数都反映在url中,可用于翻页和简单查询。get只能接收低于2M的内容,因此它有局限性。此外,因为内容是可见的,所以安全性会降低。
帖子:用于提交页面表单和上传文件。大小没有限制,也不会显示在地址栏中。
$_POST变量
_ POST variable是一个数组,它包含由HTTP POST方法发送的变量名和值。
$_POST变量用于通过方法=“POST”从表单中收集值。使用POST方法从表单发送的信息对任何人都是不可见的(不会显示在浏览器的地址栏中),并且发送的信息量没有限制。
示例:
<。!DOCTYPE html>。<。html>。<。head>。<。元字符集="。utf-8"。/>。<。标题>。<。/title>。<。/head>。<。body>。<。表单操作= & quothttps://127 . 0 . 0 . 1:8080/PHP 7/hello . PHP & quot。方法="。post"。>。输入您的姓名:<。输入类型= & quot文本& quot名称= & quot名称& quot/>。输入您的年龄:<。输入类型= & quot文本& quot名称= & quot年龄"。/>。<。输入类型= & quot提交& quot/>。<。/form>。<。/body>。<。/html>。这是hello.php文件的代码。“hello.php”文件现在可以通过$_POST变量获取表单数据(请注意,表单字段的名称将自动成为$_POST数组中的标识键)
<。?phpheader(& quot;内容类型:文本/html;字符集=utf-8"。);echo $ _ POST[& quot;名称& quot];//您可以在表单中输出标签的属性值,其中名称为echo $ _ POST[& quot;年龄"。];?>。为什么使用$_POST?
通过超文本传输协议发送的变量不会显示在网址中。
变量没有长度限制。
但是,由于该变量没有显示在网址中,该页面不能被书签标记。
$_GET变量
$_GET变量用于通过方法=“获取”从表单中收集值。直观地说,这些参数可以在浏览器中看到。例如,当我在百度搜索“wordpress”时,我请求的网址是https://www.baidu.com/s?。bs=wordpress&。f=8&。rsv_bp=1&。wd=wordpress&。输入=0,然后呢?后面的所有参数都可以用$_GET获得,每个参数都设置为' &:作为分隔符。
$_GET变量是一个数组,其变量名和值由HTTP GET方法发送。
使用GET方法从表单发送的信息对任何人都是可见的(它将显示在浏览器的地址栏中),并且发送的信息量也有限制(最多100个字符),因此参数的长度不是无限的,但它基本上可以满足我们的要求。
示例:
<。表单操作= & quothello.php"。方法="。获取"。>。名称:<。输入类型= & quot文本& quot名称= & quot名称& quot/>。年龄:<。输入类型= & quot文本& quot名称= & quot年龄"。/>。<。输入类型= & quot提交& quot/>。<。/form>。当用户单击提交按钮时,发送的网址将如下所示:
https://www.w3school.com.cn/welcome.php?名字=彼得& ampAge = 37 "hello.php "文件现在可以通过$_GET变量获取表单数据(请注意,表单字段的名称将自动成为$_GET数组中的标识键)
欢迎<。?PHP echo $ _ GET[& quot;名称& quot];?>。。<。br />。你是& lt?PHP echo $ _ GET[& quot;年龄"。];?>。岁!如果您在姓名表单框中输入Mike,在年龄表单框中输入23,显示的结果如下。
欢迎迈克你23岁了!为什么使用$_GET?
注意:当使用$_GET变量时,所有变量名和值都将显示在网址中。因此,发送密码或其他敏感信息时不应使用此方法。
但是,因为变量显示在网址中,所以页面可以收集在收藏夹中。在某些情况下,这非常有用。
注意:HTTP GET方法不适合大的变量值;该值不能超过100个字符。上面是一个例子来解释PHP中$_GET和$_POST的用法和区别。更多