Backend Development
PHP Tutorial
Detailed graphic explanation of the difference between $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST in PHP
Detailed graphic explanation of the difference between $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST in PHP
This article mainly introduces the difference between $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST in PHP. It analyzes the functions and usage of $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST based on specific examples. It needs Friends can refer to the
details as follows:
$_POST: An array composed of variables passed through the HTTP POST method. is an automatic global variable. $GLOBALS['HTTP_RAW_POST_DATA'] : Always generate $HTTP_RAW_POST_DATA variable containing the original POST data. This variable is only generated when data of an unrecognized MIME type is encountered. $HTTP_RAW_POST_DATA is not available for enctype="multipart/form-data" form data.
That is to say, basically $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST are the same.
But if the posted data is not recognized by PHP, you can use $GLOBALS['HTTP_RAW_POST_DATA'] to receive it, such as text/xml or soap, etc.
Additional explanation: The data type recognized by PHP by default is the application/x-www.form-urlencoded standard data type.
This is what the manual says:
Always generate variables containing the original POST data. Otherwise, this variable is generated only when data of an unrecognized MIME type is encountered. However, a better way to access the raw POST data is php://input. $HTTP_RAW_POST_DATA is not available for enctype="multipart/form-data" form data.
Question: Does $HTTP_RAW_POST_DATA == $_POST?
According to the manual, the answer should be no.
If they are different, what is their difference?
I know the answer, as follows:
The RAW / uninterpreted HTTP POST information can be accessed with:
$GLOBALS['HTTP_RAW_POST_DATA']
This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml).
That is, basically $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST are the same. But if the posted data is not recognized by PHP, you can use $GLOBALS['HTTP_RAW_POST_DATA'] to receive it, such as text/xml or soap, etc..
The data type recognized by PHP by default is the standard data type of application/x-www.form-urlencoded
Use Content-Type=text/xml type to submit the content of an xml document to PHP server, how to obtain this POST data.
The RAW / uninterpreted HTTP POST information can be accessed with: $GLOBALS['HTTP_RAW_POST_DATA'] This is useful in cases where the post Content-Type is not something PHP understands (such as text/xml ).
Since PHP only recognizes the application/x-www.form-urlencoded standard data type by default, the content such as text/xml cannot be parsed into the $_POST array, so the prototype is retained. , hand it over to $GLOBALS['HTTP_RAW_POST_DATA'] to receive.
There is also another php://input that can also implement this function
php://input allows reading the original data of POST. It puts less pressure on memory than $HTTP_RAW_POST_DATA and does not require any special php.ini settings. php://input cannot be used with enctype="multipart/form-data".
Application:
a.htm:
<form action="post.php" method="post"> <input type="text" name="user"> <input type="password" name="password"> <input type="submit"> </form>
post.php:
<? echo file_get_contents("php://input"); ?>Related recommendations:
tomcat configuration php cannot use $_post, $_get
The difference between $_GET and $_POST in PHP
About $_POST in PHP Example explanation
The above is the detailed content of Detailed graphic explanation of the difference between $GLOBALS['HTTP_RAW_POST_DATA'] and $_POST in PHP. For more information, please follow other related articles on the PHP Chinese website!
Hot AI Tools
Undresser.AI Undress
AI-powered app for creating realistic nude photos
AI Clothes Remover
Online AI tool for removing clothes from photos.
Undress AI Tool
Undress images for free
Clothoff.io
AI clothes remover
AI Hentai Generator
Generate AI Hentai for free.
Hot Article
Hot Tools
Notepad++7.3.1
Easy-to-use and free code editor
SublimeText3 Chinese version
Chinese version, very easy to use
Zend Studio 13.0.1
Powerful PHP integrated development environment
Dreamweaver CS6
Visual web development tools
SublimeText3 Mac version
God-level code editing software (SublimeText3)
Hot Topics
1381
52
A brief analysis of the POST method in PHP with parameters to jump to the page
Mar 23, 2023 am 09:15 AM
For PHP developers, using POST to jump to pages with parameters is a basic skill. POST is a method of sending data in HTTP. It can submit data to the server through HTTP requests. The jump page processes and jumps the page on the server side. In actual development, we often need to use POST with parameters to jump to pages to achieve certain functional purposes.
How to use python requests post
Apr 29, 2023 pm 04:52 PM
Python simulates the browser sending post requests importrequests format request.postrequest.post(url,data,json,kwargs)#post request format request.get(url,params,kwargs)#Compared with get request, sending post request parameters are divided into forms ( x-www-form-urlencoded) json (application/json) data parameter supports dictionary format and string format. The dictionary format uses the json.dumps() method to convert the data into a legal json format string. This method requires
How to determine whether a post has been submitted in PHP
Mar 21, 2023 pm 07:12 PM
PHP is a widely used server-side scripting language that can be used to create interactive and dynamic web applications. When developing PHP applications, we usually need to submit user input data to the server for processing through forms. However, sometimes we need to determine whether form data has been submitted in PHP. This article will introduce how to make such a determination.
How does java initiate an http request and call the post and get interfaces?
May 16, 2023 pm 07:53 PM
1. Java calls post interface 1. Use URLConnection or HttpURLConnection that comes with java. There is no need to download other jar packages. Call URLConnection. If the interface response code is modified by the server, the return message cannot be received. It can only be received when the response code is correct. to return publicstaticStringsendPost(Stringurl,Stringparam){OutputStreamWriterout=null;BufferedReaderin=null;StringBuilderresult=newSt
How to solve the problem that NGINX reverse proxy returns 405 for POST request of HTML page
May 22, 2023 pm 07:49 PM
实现如下:server{listen80;listen443ssl;server_namenirvana.test-a.gogen;ssl_certificate/etc/nginx/ssl/nirvana.test-a.gogen.crt;ssl_certificate_key/etc/nginx/ssl/nirvana.test-a.gogen.key;proxy_connect_timeout600;proxy_read_timeout600;proxy_send_timeout600;c
How to implement PHP to jump to the page and carry POST data
Mar 22, 2024 am 10:42 AM
PHP is a programming language widely used in website development, and page jumps and carrying POST data are common requirements in website development. This article will introduce how to implement PHP page jump and carry POST data, including specific code examples. In PHP, page jumps are generally implemented through the header function. If you need to carry POST data during the jump process, you can do it through the following steps: First, create a page containing a form, where the user fills in the information and clicks the submit button. Acti in the form
PHP code example: How to use POST to pass parameters and implement page jumps
Mar 07, 2024 pm 01:45 PM
Title: PHP code example: How to use POST to pass parameters and implement page jumps In web development, it often involves the need to pass parameters through POST and process them on the server side to implement page jumps. PHP, as a popular server-side scripting language, provides a wealth of functions and syntax to achieve this purpose. The following will introduce how to use PHP to implement this function through a practical example. First, we need to prepare two pages, one to receive POST requests and process parameters
A brief analysis of how to implement jumps and carry POST data in PHP
Mar 21, 2023 pm 02:07 PM
PHP is a popular server-side scripting language used for building dynamic web applications and websites. In PHP, it is often necessary to jump to pages and transfer data across pages. This article will discuss how to implement jumps and carry POST data in PHP.


