Manuals     Documents           Torna a Eurion Networks

Manuals

Variables de sistema en PHP

Què són i per a què serveixen aquestes variables del servidor. Comentem algunes de les més útils.

A causa de la seva naturalesa de llenguatge server-side, PHP és capaç de donar-nos accés a tot un seguit de variables que ens informen sobre el nostre servidor i sobre el client. La informació d'aquestes variables és atribuïda pel servidor i en cap cas ens és possible modificar els seus valors directament mitjançant l'script. Per a fer-ho és necessari influir directament sobre la propietat que defineixen.

Existeixen multitud de variables d'aquest tipus, algunes sense utilitat aparent i unes altres realment interessants i amb una aplicació directa per al nostre lloc web. Aquí us enumerem algunes d'aquestes variables i la informació que ens aporten:

Variable

Descripció

$HTTP_USER_AGENT

Ens informa principalment sobre el sistema operatiu, tipus i versió de navegador utilitzat per l'internauta. La seva principal utilitat radica en que, a partir d'aquesta informació, podem redireccionar els nostres usuaris cap a pàgines optimitzades per al seu navegador o realitzar qualsevol altre tipus d'acció en el context d'un navegador determinat.

$HTTP_ACCEPT_LANGUAGE

Ens retorna el o els abreujaments de la llengua considerada com principal pel navegador. Aquesta llengua o llengües principals poden ser triades en el menú d'opcions del navegador. Aquesta variable resulta també extremadament útil per a enviar a l'internauta a les pàgines escrites en la seva llengua, si és que existeixen.

$HTTP_REFERER

Ens indica la URL des de la qual l'internauta ha tingut accés a la pàgina. Molt interessant per a generar botons de "Endarrere" dinàmics o per a crear els nostres propis sistemes d'estadístiques de visites.

$PHP_SELF

Ens retorna una cadena amb la URL del script que està sent executat. Molt interessant per a crear botons per a recarregar la pàgina.

$HTTP_GET_VARS

Es tracta d'un array que emmagatzema els noms i continguts de les variables enviades al script per URL o per formularis.

$HTTP_POST_VARS

Es tracta d'un array que emmagatzema els noms i continguts de les variables enviades al script per mitjà d'un formulari

$HTTP_COOKIES_VARS

Es tracta d'un array que emmagatzema els noms i continguts de les cookies.

$PHP_AUTH_USER

Emmagatzema la variable usuari quan s'efectua l'entrada a pàgines d'accés restringit. Combinat amb $PHP_AUTH_PW resulta ideal per a controlar l'accés a les pàgines internes del lloc.

$PHP_AUTH_PW

Emmagatzema la variable password quan s'efectua l'entrada a pàgines d'accés restringit. Combinat amb $PHP_AUTH_USER resulta ideal per a controlar l'accés a les pàgines internes del lloc.

$REMOTE_ADDR

Mostra l'adreça IP del visitant.

$DOCUMENT_ROOT

Ens retorna el path físic en el qual es troba allotjada la pàgina en el servidor.

$PHPSESSID

Guarda l'identificador de sessió de l'usuari. Veurem més endavant en què consisteixen les sessions.

 

No totes aquestes variables estan disponibles en la totalitat de servidors o en determinades versions d'un mateix servidor. A més, algunes d'elles han de ser prèviament activades o definides per mitjà d'algun esdeveniment. Així, per exemple, la variable $HTTP_REFERER no estarà definida llevat que l'internauta accedeixi al script a partir d'un enllaç des d'altra pàgina.

Variables superglobals

A partir de PHP 4.1.0, es disposa d'un conjunt de varibles de tipus array que mantenen informació del sistema, cridades superglobals perquè es defineixen automàticament en un àmbit global.

Aquestes variables fan referència a les mateixes que s'accedien abans per mitjà dels arrays del tipus $HTTP_*_VARS. Aquestes encara existeixen, encara que a partir de PHP 5.0.0 es poden desactivar amb la directiva register_long_arrays.

La llista d'aquestes variables, extreta directament de la documentació de PHP és la següent:

$GLOBALS
Conté una referència a cada variable disponible en l'espectre de les variables del script. Les claus d'aquesta matriu són els noms de les variables globals. $GLOBALS existeix des de PHP 3.

$_SERVER
Variables definides pel servidor web o directament relacionades amb l'entorn on el script s’està executant. Anàloga a l'antiga matriu $HTTP_SERVER_VARS (la qual està encara disponible, encara que no s'usi).

$_GET
Variables proporcionades al script per mitjà de HTTP GET. Anàloga a l'antiga matriu $HTTP_GET_VARS (la qual està encara disponible, encara que no s'usi).

$_POST
Variables proporcionades al script per mitjà de HTTP POST. Anàloga a l'antiga matriu $HTTP_POST_VARS (la qual està encara disponible, encara que no s'usi).

$_COOKIE
Variables proporcionades al script per mitjà de HTTP COOKIES. Anàloga a l'antiga matriu $HTTP_COOKIE_VARS (la qual està encara disponible, encara que no s'usi).

$_FILES
Variables proporcionades al script per mitjà de la pujada de fitxers via HTTP . Anàloga a l'antiga matriu $HTTP_POST_FILES (la qual està encara disponible, encara que no s'usi).

$_ENV
Variables proporcionades al script per mitjà de l'entorn. Anàloga a l'antiga matriu $HTTP_ENV_VARS (la qual està encara disponible, encara que no s'usi).

$_REQUEST
Variables proporcionades al script per mitjà de qualsevol mecanisme d'entrada de l'usuari i per tant no es pot confiar en elles. La presència i l'ordre que apareixen les variables en aquesta matriu és definit per la directiva de configuració variables_order. Aquesta matriu no té un anàleg en versions anteriors a PHP 4.1.0.

$_SESSION
Variables registrades en la sessió del script. Anàloga a l'antiga matriu $HTTP_SESSION_VARS (la qual està encara disponible, encara que no s'usi).



Article original: Rubén Álvarez
Traducció i adaptació: pp_cc.
Correcció: JoTGi.

© CyberCat, Eurion Networks
Membre de WICCAC