Home > Article > Backend Development > Detailed examples of usage and differences between $_POST and $_GET in PHP
post and get refer to the two methods of page submission.
(Recommended tutorial: php practical video tutorial)
get: The parameters are reflected in the url, which can be used for page turning and simple query. get can only receive 2M The following content has limitations. In addition, because the content is visible, security is reduced.
post: used for page form submission and file upload. There is no size limit and it will not show up on the address bar.
$_POST variable
$_POST variable is an array containing the variable names and values sent by the HTTP POST method.
$_POST variable is used to collect values from the form with method="post".
The information sent from the form with the POST method is invisible to anyone (will not be displayed in the browser's address bar), and there is no limit on the amount of information sent.
Example:
<!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>
Here is the code for the hello.php file. The "hello.php" file can now obtain form data through the $_POST variable (please note that the name of the form field will automatically Becomes the ID key in the $_POST array)
<?php header("content-type:text/html;charset=utf-8"); echo $_POST["name"]; //可以输出form中标签的属性值 其中参数的name echo $_POST["age"]; ?>
Why use $_POST?
Variables sent via HTTP POST will not appear in the URL.
There is no length limit for variables.
However, since the variable does not appear in the URL, the page cannot be bookmarked.
$_GET variable
$_GET variable is used to collect values from the form with method="get", which can be seen intuitively in the browser Parameters, for example, when I search for "wordpress" on Baidu, the URL I request is http://www.baidu.com/s?ie=utf-8&bs=wordpress&f=8&rsv_bp=1&wd=wordpress&inputT=0, then '?' The following parameters can be obtained using $_GET, and each parameter is separated by '&'.
$_GET variable is an array containing variable names and values sent by the HTTP GET method.
The information sent from the form with the GET method is visible to anyone (will be displayed in the browser's address bar), and there is a limit on the amount of information sent (up to 100 characters), Therefore, the length of the parameters is not infinite, but it can basically meet our requirements.
Example:
<form action="hello.php" method="get"> Name: <input type="text" name="name" /> Age: <input type="text" name="age" /> <input type="submit" /></form>
When the user clicks the submit button, the URL sent will be similar to this:
http://www.w3school.com.cn/welcome.php?name=Peter&age=37
The "hello.php" file can now be obtained through the $_GET variable form data (please note that the name of the form field will automatically become the ID key in the $_GET array)
Welcome <?php echo $_GET["name"]; ?>.<br /> You are <?php echo $_GET["age"]; ?> years old!
If you enter Mike in the name form box and enter 23 in the age form box, then The result displayed is like this.
Welcome Mike You are 23 years old!
Why use $_GET?
Note: When using the $_GET variable, all variable names and values will be displayed in the URL. So this method should not be used when sending passwords or other sensitive information.
However, because the variables appear in the URL, you can bookmark the page in your favorites. In some cases this is useful.
Note: The HTTP GET method is not suitable for large variable values; the value cannot exceed 100 characters.
The above is the detailed content of Detailed examples of usage and differences between $_POST and $_GET in PHP. For more information, please follow other related articles on the PHP Chinese website!