According to http://php.net/manual/en/function.urldecode.php, PHP does urldecode()
on $_GET
and on $_REQUEST
(which contains $_POST
).
But is directly calling $_POST
already decoded?
According to http://php.net/manual/en/function.urldecode.php, PHP does urldecode()
on $_GET
and on $_REQUEST
(which contains $_POST
).
But is directly calling $_POST
already decoded?
Yes, all the parameters you access via $_GET
and $_POST
are decoded.
The reason the urldecode()
documentation doesn't mention $_POST
is because the POST data might not be URL-encoded in the first place. It depends on whether the POST data is submitted in application/x-www-form-urlencoded
format or multipart/form-data
format.
But all this is transparent to the application.
The documentation of $_GET
does mention this explicitly, though.
Note:
The GET variables are passed throughurldecode()
.