Unidad 1 – Nivelación PHP y MySQL
Unidad 1
Nivelación PHP y MySQL
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
Variables de sistema en 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:
Las nombramos a continuación:
$HTTP_USER_AGENT
Nos 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_LANGUAGE
Nos 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_REFERER
Nos 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_SELF
Nos devuelve una cadena con la URL del script que está siendo ejecutado. Muy interesante para
crear botones para recargar la página.
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
$HTTP_GET_VARS
Se trata de un array que almacena los nombres y contenidos de las variables enviadas al script por
URL o por formularios GET.
$HTTP_POST_VARS
Se trata de un array que almacena los nombres y contenidos de las variables enviadas al script por
medio de un formulario POST.
$HTTP_COOKIES_VARS
Se trata de un array que almacena los nombres y contenidos de las cookies. Veremos qué son más
adelante.
$PHP_AUTH_USER
Almacena 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_PW
Almacena 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_ADDR
Muestra la dirección IP del visitante.
$DOCUMENT_ROOT
Nos devuelve el path físico en el que se encuentra alojada la página en el servidor.
$PHPSESSID
Guarda 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
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
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.
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
Variables superglobales
A partir de PHP 4.1.0, se dispone de un conjunto de variables 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 está 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).
Contacto: [email protected]
Web: www.elearning-total.com
Unidad 1 – Nivelación PHP y MySQL
$_FILES
Variables proporcionadas al script por medio de la subida de ficheros vía 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 cualquier 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.)
Contacto: [email protected]
Web: www.elearning-total.com