我是这个论坛的新手,我从现在开始学习PHP。
我想发送一份表格,但我不知道它们之间的区别:
<form action="page2.php" method="GET">
和
<form action="page2.php" method="POST">
有人可以帮我吗?
感谢。
答案 0 :(得分:25)
获取:强>
发表:强>
答案 1 :(得分:1)
按照惯例,HTTP GET用于搜索表单,而HTTP POST用于更改表单。 GET在URL中显示其信息,可公开查看,您可以从中查询变量。 POST不会显示其信息。安全方面确实没有区别。
答案 2 :(得分:0)
如果使用GET
请求,表单参数将在URL中以所谓的查询字符串进行编码。例如
www.someemailprovider.com/?login=joe@email.com&password=xxyz
与GET请求不同,POST
请求会在HTTP请求的正文中传递表单参数,而不是在URL中。
此外GET
是幂等的,而POST
并不意味着如果你在服务器上调用GET方法,在服务器上什么都不会改变,但如果你调用POST,那么服务器将被更改可能是一些额外的数据将被添加到服务器中,因此GET是幂等的,而POST则不是。
注意强>
作为程序员要记住的主要事情是定义表单以使用GET方法并不能防止导致更改。您可以使用GET请求执行与POST查询几乎相同的操作。只是通常编码浏览器以期望POST请求将用于会导致更改的事情 - 例如下订单或写入数据库等。 GET请求应该用于不影响服务器上任何内容的纯查询。因此,应该始终记住不要对可能导致服务器更改的任何操作使用GET请求 - 例如订购大屏幕电视。
答案 3 :(得分:-1)
这些都是HTTP请求方法,而不是PHP独占。
$ _ GET 会附加到结尾或网址。即http://example.org/?foo=bar 使用PHP访问它:
$foo = $_GET['foo'];
或 $ foo = $ _REQUEST ['foo'];
GET用于您不介意的人看到的信息,可以手动输入链接和网址以获得结果。
您的网址中不会显示$ _ POST ,通常会在提交表单后使用。 使用PHP访问它:
$foo = $_POST['foo'];
或 $ foo = $ _REQUEST ['foo'];
了解有关HTTP请求的详情