$ _REQEST ​​['ID']中的值为空,但它存在于$ _POST ['ID']中

When i try to print form value with POST it work fine

var_dump($_POST); // Value  is there

In next Line i try to dump $_REQUEST it's empty.

var_dump($_REQUEST) // Empty 

I am not getting why its happening like this.

Check the http://php.net/manual/en/ini.core.php#ini.request-order setting in your php.ini, should not be empty and probably be set to "GC" if you want GET and POST in that order.

In my php.ini (you can run php --ini from the terminal to find where your php.ini is):

; This directive determines which super global arrays are registered when PHP
; starts up. If the register_globals directive is enabled, it also determines
; what order variables are populated into the global space. G,P,C,E & S are
; abbreviations for the following respective super globals: GET, POST, COOKIE,
; ENV and SERVER. There is a performance penalty paid for the registration of
; these arrays and because ENV is not as commonly used as the others, ENV is
; is not recommended on productions servers. You can still get access to
; the environment variables through getenv() should you need to.
; Default Value: "EGPCS"
; Development Value: "GPCS"
; Production Value: "GPCS";
; http://php.net/variables-order
variables_order = "GPCS"