viernes, 20 de septiembre de 2013

Cónoce las variables de sistema de PHP


Dada su naturaleza de lenguaje de lado servidor, PHP es capaz de darnos acceso a toda una serie de variables que nos informan sobre nuestro servidor y sobre el cliente. La información de estas variables es atribuida por el servidor y en ningún caso nos es posible modificar sus valores directamente mediante el script. Para hacerlo es necesario influir directamente sobre la propiedad que definen.
Existen multitud de variables de este tipo, algunas sin utilidad aparente y otras realmente interesantes y con una aplicación directa para nuestro sitio web. Aquí os enumeramos algunas de estas variables y la información que nos aportan:

VariableDescripción
$HTTP_USER_AGENTNos informa principalmente sobre el sistema operativo y tipo y versión de navegador utilizado por el internauta. Su principal utilidad radica en que, a partir de esta información, podemos redireccionar nuestros usuarios hacia páginas optimizadas para su navegador o realizar cualquier otro tipo de acción en el contexto de un navegador determinado.
$HTTP_ACCEPT_LANGUAGENos devuelve la o las abreviaciones de la lengua considerada como principal por el navegador. Esta lengua o lenguas principales pueden ser elegidas en el menú de opciones del navegador. Esta variable resulta también extremadamente útil para enviar al internauta a las páginas escritas en su lengua, si es que existen.
$HTTP_REFERERNos indica la URL desde la cual el internauta ha tenido acceso a la página. Muy interesante para generar botones de "Atrás" dinámicos o para crear nuestros propios sistemas de estadísticas de visitas.
$PHP_SELFNos devuelve una cadena con la URL del script que está siendo ejecutado. Muy interesante para crear botones para recargar la página.
$HTTP_GET_VARSSe trata de un array que almacena los nombres y contenidos de las variables enviadas al script por URL o por formularios GET
$HTTP_POST_VARSSe trata de un array que almacena los nombres y contenidos de las variables enviadas al script por medio de un formulario POST
$HTTP_COOKIE_VARSSe trata de un array que almacena los nombres y contenidos de las cookies. Veremos qué son más adelante.
$PHP_AUTH_USERAlmacena la variable usuario cuando se efectúa la entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_PW resulta ideal para controlar el acceso a las páginas internas del sitio.
$PHP_AUTH_PWAlmacena la variable password cuando se efectúa la entrada a páginas de acceso restringido. Combinado con $PHP_AUTH_USER resulta ideal para controlar el acceso a las páginas internas del sitio.
$REMOTE_ADDRMuestra la dirección IP del visitante.
$DOCUMENT_ROOTNos devuelve el path físico en el que se encuentra alojada la página en el servidor.
$PHPSESSIDGuarda el identificador de sesión del usuario. Veremos más adelante en qué consisten las sesiones.

No todas estas variables están disponibles en la totalidad de servidores o en determinadas versiones de un mismo servidor. además, algunas de ellas han de ser previamente activadas o definidas por medio de algún acontecimiento. Así, por ejemplo, la variable $HTTP_REFERER no estará definida a menos que el internauta acceda al script a partir de un enlace desde otra página.

Variables superglobales

A partir de PHP 4.1.0, se dispone de un conjunto de varibles de tipo array que mantienen información del sistema, llamadas superglobales porque se definen automáticamente en un ámbito global.
Estas variables hacen referencia a las mismas que se accedían antes por medio de los arrays del tipo $HTTP_*_VARS. Éstas todavía existen, aunque a partir de PHP 5.0.0 se pueden desactivar con la directiva register_long_arrays.
La lista de estas variables, extraída directamente de la documentación de PHP es la siguiente:

$GLOBALS


Contiene una referencia a cada variable disponible en el espectro de las variables del script. Las llaves de esta matriz son los nombres de las variables globales. $GLOBALS existe dese PHP 3. 


$_SERVER 
Variables definidas por el servidor web ó directamente relacionadas con el entorno en don el script se esta ejecutando. Análoga a la antigua matriz $HTTP_SERVER_VARS (la cual está todavía disponible, aunque no se use). 

$_GET 
Variables proporcionadas al script por medio de HTTP GET. Análoga a la antigua matriz $HTTP_GET_VARS (la cual está todavía disponible, aunque no se use). 

$_POST 
Variables proporcionadas al script por medio de HTTP POST. Análoga a la antigua matriz $HTTP_POST_VARS (la cual está todavía disponible, aunque no se use). 

$_COOKIE 
Variables proporcionadas al script por medio de HTTP cookies. Análoga a la antigua matriz $HTTP_COOKIE_VARS (la cual está todavía disponible, aunque no se use). 

$_FILES 
Variables proporcionadas al script por medio de la subida de ficheros via HTTP . Análoga a la antigua matriz $HTTP_POST_FILES (la cual está todavía disponible, aunque no se use). Vea también Subiendo ficheros por método POST para más información. 

$_ENV 
Variables proporcionadas al script por medio del entorno. Análoga a la antigua matriz $HTTP_ENV_VARS (la cual está todavía disponible, aunque no se use). 

$_REQUEST 
Variables proporcionadas al script por medio de cuaquier mecanismo de entrada del usuario y por lo tanto no se puede confiar en ellas. La presencia y el orden en que aparecen las variables en esta matriz es definido por la directiva de configuración variables_order. Esta matriz no tiene un análogo en versiones anteriores a PHP 4.1.0. Vea también import_request_variables(). 

$_SESSION 
Variables registradas en la sesión del script. Análoga a la antigua matriz $HTTP_SESSION_VARS (la cual está todavía disponible, aunque no se use). Vea también la sección Funciones para el manejo de sessiones para más información.



Fuente: enlace

No hay comentarios:

Publicar un comentario

Entradas populares