PHP provides a way to read raw POST data of an HTML Form using php:// which is used for accessing PHP’s input and output streams. In this article, we will use the mentioned way in three different ways. We will use php://input, which is a read-only PHP stream.
We will create a basic HTML form page where we can use all the possible approaches one at a time.
HTML Code:
<!DOCTYPE html> < html > < head > < title >POST Body</ title > < style > form { margin: 30px 0px; } input { display: block; margin: 10px 15px; padding: 8px 10px; font-size: 16px; } div { font-size: 20px; margin: 0px 15px; } h2 { color: green; margin: 20px 15px; } </ style > </ head > < body > < h2 >neveropen</ h2 > < form method = "post" > < input type = "text" name = "username" placeholder = "Enter Username" > < input type = "password" name = "password" placeholder = "Enter Password" > < input type = "submit" name = "submit-btn" value = "submit" > </ form > < br > </ body > </ html > |
Below examples illustrate the approach:
Example 1: In this example, we will use file_get_contents() Function. The file_get_contents() function is used to get the data in string format.
- Syntax:
file_get_contents('php://input');
- PHP Code:
<?php
if
(isset(
$_POST
[
"submit-btn"
])) {
echo
"<div> POST BODY <br>"
.
$post_data
.
"</div>"
;
}
?>
- Output:
Example 2: In this example, we will use print_r() Function. It is a much simpler way to get the POST data and that is using the print_r() function. This will give the output in the form of an array.
- Syntax:
print_r($_POST);
- PHP Code:
<?php
if
(isset(
$_POST
[
"submit-btn"
])) {
echo
"<div> POST BODY <br>"
;
print_r(
$_POST
);
echo
"</div>"
;
}
?>
- Output:
Example 3: We can also use var_dump() function which will give us an array as well but with a bit more information.
- Syntax:
var_dump($_POST);
- PHP Code:
<?php
if
(isset(
$_POST
[
"submit-btn"
])) {
echo
"<div> POST BODY <br>"
;
var_dump(
$_POST
);
echo
"</div>"
;
}
?>
- Output: