   #PHP Manual Variables Variables Variable scope

            PHP Manual
   Prev Chapter 7. Variables Next
   ______________________________________________________________________

Predefined variables

   PHP provides a large number of predefined variables to any script
   which it runs. Many of these variables, however, cannot be fully
   documented as they are dependent upon which server is running, the
   version and setup of the server, and other factors. Some of these
   variables will not be available when PHP is run on the command line.
   For a listing of these variables, please see the section on Reserved
   Predefined Variables.

   Warning

   In PHP 4.2.0 and later, the default value for the PHP directive
   register_globals is off. This is a major change in PHP. Having
   register_globals off affects the set of predefined variables available
   in the global scope. For example, to get DOCUMENT_ROOT you'll use
   $_SERVER['DOCUMENT_ROOT'] instead of $DOCUMENT_ROOT, or $_GET['id']
   from the URL http://www.example.com/test.php?id=3 instead of $id, or
   $_ENV['HOME'] instead of $HOME.

   For related information on this change, read the configuration entry
   for register_globals, the security chapter on Using Register Globals ,
   as well as the PHP 4.1.0 and 4.2.0 Release Announcements.

   Using the available PHP Reserved Predefined Variables, like the
   superglobal arrays, is preferred.

   From version 4.1.0 onward, PHP provides an additional set of
   predefined arrays containing variables from the web server (if
   applicable), the environment, and user input. These new arrays are
   rather special in that they are automatically global--i.e.,
   automatically available in every scope. For this reason, they are
   often known as 'autoglobals' or 'superglobals'. (There is no mechanism
   in PHP for user-defined superglobals.) The superglobals are listed
   below; however, for a listing of their contents and further discussion
   on PHP predefined variables and their natures, please see the section
   Reserved Predefined Variables. Also, you'll notice how the older
   predefined variables ($HTTP_*_VARS) still exist. As of PHP 5.0.0, the
   long PHP predefined variable arrays may be disabled with the
   register_long_arrays directive.

     Variable variables: Superglobals cannot be used as variable
     variables.

   If certain variables in variables_order are not set, their appropriate
   PHP predefined arrays are also left empty.

   PHP Superglobals

   $GLOBALS
          Contains a reference to every variable which is currently
          available within the global scope of the script. The keys of
          this array are the names of the global variables. $GLOBALS has
          existed since PHP 3.

   $_SERVER
          Variables set by the web server or otherwise directly related
          to the execution environment of the current script. Analogous
          to the old $HTTP_SERVER_VARS array (which is still available,
          but deprecated).

   $_GET
          Variables provided to the script via HTTP GET. Analogous to the
          old $HTTP_GET_VARS array (which is still available, but
          deprecated).

   $_POST
          Variables provided to the script via HTTP POST. Analogous to
          the old $HTTP_POST_VARS array (which is still available, but
          deprecated).

   $_COOKIE
          Variables provided to the script via HTTP cookies. Analogous to
          the old $HTTP_COOKIE_VARS array (which is still available, but
          deprecated).

   $_FILES
          Variables provided to the script via HTTP post file uploads.
          Analogous to the old $HTTP_POST_FILES array (which is still
          available, but deprecated). See POST method uploads for more
          information.

   $_ENV
          Variables provided to the script via the environment. Analogous
          to the old $HTTP_ENV_VARS array (which is still available, but
          deprecated).

   $_REQUEST
          Variables provided to the script via the GET, POST, and COOKIE
          input mechanisms, and which therefore cannot be trusted. The
          presence and order of variable inclusion in this array is
          defined according to the PHP variables_order configuration
          directive. This array has no direct analogue in versions of PHP
          prior to 4.1.0. See also import_request_variables().

                                      Caution
   Since PHP 4.3.0, FILE information from $_FILES does not exist in
   $_REQUEST.

     Note: When running on the command line , this will not include the
     argv and argc entries; these are present in the $_SERVER array.

   $_SESSION
          Variables which are currently registered to a script's session.
          Analogous to the old $HTTP_SESSION_VARS array (which is still
          available, but deprecated). See the Session handling functions
          section for more information.
   ______________________________________________________________________

   Prev      Home           Next
   Variables  Up  Variable scope
