post和get是指页面提交的两种方式。
(推荐教程:php实战视频教程)
get:参数都体现在url上,可以用于翻页,简单查询,get只能接收2M以下的内容,所以有局限性,另外由于内容是可见的,安全性就下降了。
post:用于页面表单提交,上传文件。大小没有限制,也不会在地址栏上显示。
$_POST 变量
$_POST 变量是一个数组,内容是由 HTTP POST 方法发送的变量名称和值。
$_POST 变量用于收集来自 method=”post” 的表单中的值。
从带有 POST 方法的表单发送的信息,对任何人都是不可见的(不会显示在浏览器的地址栏),并且对发送信息的量也没有限制。
举例:
<!DOCTYPE html> <html> <head> <Meta charset=utf-8 /> <title></title> </head> <body> <form action=http://127.0.0.1:8080/PHP7/hello.PHP method=post> Enter your name: <input type=text name=name /> Enter your age: <input type=text name=age /> <input type=submit /> </form> </body> </html>
这里是hello.PHP文件的代码 “hello.PHP” 文件现在可以通过 $_POST 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_POST 数组中的 ID 键)
<?PHP header(content-type:text/html;charset=utf-8); echo $_POST[name]; //可以输出form中标签的属性值 其中参数的name echo $_POST[age]; ?>
为什么使用 $_POST?
通过 HTTP POST 发送的变量不会显示在 URL 中。
变量没有长度限制。
不过,由于变量不显示在 URL 中,所以无法把页面加入书签。
$_GET 变量
$_GET 变量用于收集来自 method=”get” 的表单中的值,直观的的就是浏览器中可以看到的参数,比如我在百度搜索“wordpress”的时候,我请求的url就是http://www.baidu.com/s?ie=utf-8&bs=wordpress&f=8&rsv_bp=1&wd=wordpress&inputT=0,那么’?’后面的参数都是可以用 $_GET 获取,各个参数是以’&’作为分隔符的。
$_GET 变量是一个数组,内容是由 HTTP GET 方法发送的变量名称和值。
从带有 GET 方法的表单发送的信息,对任何人都是可见的(会显示在浏览器的地址栏),并且对发送的信息量也有限制(最多 100 个字符),所以参数的长度不是无限的,但是基本都能满足我们的要求了。
举例:
<form action=hello.PHP method=get> Name: <input type=text name=name /> Age: <input type=text name=age /> <input type=submit /></form>
当用户点击提交按钮时,发送的 URL 会类似这样:
http://www.w3school.com.cn/welcome.PHP?name=Peter&age=37
“hello.PHP” 文件现在可以通过 $_GET 变量来获取表单数据了(请注意,表单域的名称会自动成为 $_GET 数组中的 ID 键)
Welcome <?PHP echo $_GET[name]; ?>.<br /> You are <?PHP echo $_GET[age]; ?> years old!
如果你在 name 表单框中输入了Mike ,在 age 表单框中输入了23,那么显示的结果就是这样的。
Welcome Mike You are 23 years old!
为什么使用 $_GET?
注释:在使用 $_GET 变量时,所有的变量名和值都会显示在 URL 中。所以在发送密码或其他敏感信息时,不应该使用这个方法。
不过,正因为变量显示在 URL 中,因此可以在收藏夹中收藏该页面。在某些情况下,这是很有用的。
注释:HTTP GET 方法不适合大型的变量值;值是不能超过 100 个字符的。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。