Home > Article > Backend Development > How to use $_get and $_post in php
In php, "$_get" is used to collect values from the form with "method="get"", that is, to receive form data submitted using the GET method in the form form; "$_post" is used to Collect values from the form with "method="post"", i.e. get the form data sent by the POST request.
The operating environment of this tutorial: windows7 system, PHP7.1 version, DELL G3 computer
Use two methods of get and post in PHP Receive values from the form form. In the form form, you can define the PHP receiving method and receiving address.
The get and post methods mainly have the following differences.
get adds the parameter data queue to the URL pointed to by the action attribute of the submitted form. The values correspond to each field in the form one-to-one and can be seen in the URL. Post uses the HTTP post mechanism to place each field in the form and its content in the HTML HEADER and transmit it to the URL address pointed to by the action attribute. The user cannot see this process.
get The amount of data transferred is small and cannot be larger than 2KB. This is mainly due to the URL length limit. The amount of data sent by post is relatively large, and the default is generally unlimited.
get security is very low, post security is higher, but get execution efficiency is better than post method.
get is the default method of form.
It is recommended to use the post data submission method when the transmitted data contains confidential information, the get method when doing data query, and the post method when adding, modifying or deleting data.
$_POST global variable
The POST method does not depend on the URL and does not display the passed parameter value in the address bar. In addition, the POST method can transfer data to the server without restrictions. All submitted information is transmitted in the background. Users cannot see this process on the browser side, so security is relatively high. Therefore, the POST method is more suitable for sending some important information (such as credit card number) or a relatively large amount of data to the server.
Tip: By default, the maximum size of information sent by the POST method is 8MB, which can be changed later by modifying the value of post_max_size in the php.ini configuration file.
The $_POST global variable of PHP is specially used to obtain the form data sent by the POST request. Its data structure is an associative array. The key name of the array is the value of the form element name, and the value of the array is the value of the corresponding form. In the actual program development process, when the method attribute of the form specifies the use of POST for data transmission, we should use $_POST to obtain the form data.
$_POST The use of global variables is the same as that of ordinary arrays. The data in it can be directly accessed in the form of $_POST['key value']. Below is a simple example to demonstrate.
[Example] Use the $_POST global variable to obtain the data transmitted in the form.
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="post"> 姓名:<input type="text" name="name" placeholder="请输入姓名"><br> 性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 爱好:<input type="checkbox" name="hobby[]" value="read">阅读 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">运动 <input type="checkbox" name="hobby[]" value="internet">上网<br> 职业:<select name="job"> <option value="coder">程序员</option> <option value="teacher">教师</option> <option value="doctor">医生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_POST)){ echo '提交成功!<br><pre class="brush:php;toolbar:false">'; var_dump($_POST); } ?>
Run the above code, fill in the appropriate information in the input box, and click the submit button to transfer the information filled in the form to the PHP program. Then the PHP program can receive the information passed in the form through $_POST and process the information. For example, it can save the data to the database or output it to the browser, etc. The detailed code will not be demonstrated. You can try it yourself.
$_GET global variable
$_GET global variable is similar to the $_POST global variable introduced earlier. It is used to receive form information. For form data submitted using the GET method, the GET method is the default method for the method attribute in the form form. Form data submitted using the GET method is appended to the URL and sent to the server as part of the URL.
During the development process of the program, since the data submitted by the GET method is attached to the URL and sent, information of the type "Parameters passed by the URL user" will be displayed in the address bar of the URL, as follows: Representation:
http://url?name1=value1&name2=value2 ...
Among them, url is the form response address (such as http://c.biancheng.net), name1 and name2 are the names of the form elements, and value1 and value2 are the values of the form elements. The URL and form elements are separated by "?", and multiple form elements are separated by "&". The format of each form element is "name=value", which is fixed.
Since different browsers have different restrictions on the length of the URL, when using the GET method to submit data, you must pay attention to the size of the data. If the length of the data exceeds the browser limit, the data will be truncated, resulting in data loss. The URL length restrictions of mainstream browsers are as shown in the following table:
Browser | Maximum length (number of characters) |
---|---|
Internet Explorer | 2083 |
Firefox | 65536 |
chrome | 8182 |
Safari | 80000 |
Opera | 190000 |
$_GET 全局变量与 $_POST 的结构相似,同样是一个关联数组,数组的键名为表单元素 name 的值,数组的值为对应表单的值。$_GET 不仅仅可以获取 form 表单的数据,只要是 URL 中的参数都可以使用 $_GET 获取。
另外一点需要注意的是:在 PHP 中使用 $_POST 或者 $_GET 获取表单数据时,是区分大小写的,所以在开发过程中应该注意不能忽略了字母的大小写。
【示例】使用 $_GET 全局变量获取 form 表单中传输的数据。
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> </head> <body> <form action="index.php" method="get"> 姓名:<input type="text" name="name" placeholder="请输入姓名"><br> 性别:<input type="radio" name="sex" value="男">男 <input type="radio" name="sex" value="女">女<br> 爱好:<input type="checkbox" name="hobby[]" value="read">阅读 <input type="checkbox" name="hobby[]" value="travel">旅游 <input type="checkbox" name="hobby[]" value="sport">运动 <input type="checkbox" name="hobby[]" value="internet">上网<br> 职业:<select name="job"> <option value="coder">程序员</option> <option value="teacher">教师</option> <option value="doctor">医生</option> <option value="other">其它</option> </select><br> <input type="submit" value="提交">  <input type="reset" value="重置"> </form> </body> </html> <?php if(!empty($_GET)){ echo '提交成功!<br><pre class="brush:php;toolbar:false">'; var_dump($_GET); } ?>
推荐学习:《PHP视频教程》
The above is the detailed content of How to use $_get and $_post in php. For more information, please follow other related articles on the PHP Chinese website!