# Variables predefinidas

PHP genera automáticamente una serie de variables con diversa información sobre el cliente y el servidor.

## $_REQUEST

$_REQUEST es una matriz asociativa que contiene los datos enviado por los formularios y las cookies guardadas en el ordenador del cliente.

Volver al principio de la página

## $_SERVER

$_SERVER es una matriz asociativa que contiene información sobre cabeceras, rutas y ubicaciones de scripts suministrada por el servidor (pero hay que tener en cuenta que no todos los servidores suministran todos los datos).

### $_SERVER[PHP_SELF]

$_SERVER[PHP_SELF] contiene la dirección de la página (relativo a la raíz, es decir, sin el nombre del servidor).

URL | $_SERVER[PHP_SELF]
--- | ---
http://www.example.com/ejemplo.php | /ejemplo.php
http://www.example.com/ejercicios/ejemplo.php | /ejercicios/ejemplo.php

El ejemplo siguiente muestra el valor de $_SERVER[PHP_SELF] de una página real:

    <?php
    print "<p>\$_SERVER[PHP_SELF]: $_SERVER[PHP_SELF]</p>\n";
    ?>

Esta variable se puede utilizar en las páginas que enlazan consigo mismas. Por ejemplo, una página puede contener un formulario que envíe los datos a esa misma página. Para ello, el atributo action del formulario debe contener el nombre de la página. En vez de poner el nombre de la página, se puede utilizar $_SERVER[PHP_SELF]. La ventaja es que aunque se cambie el nombre del fichero, el enlace seguirá funcionando.

El ejemplo siguiente muestra cómo se escribiría un enlace que apunta a la misma página que contiene el enlace:

    <?php
    print "<p><a href=\"$_SERVER[PHP_SELF]\">Enlace a esta misma página</a>\n";
    ?>

En esta página de ejemplo se puede comprobar este uso de $_SERVER[PHP_SELF].

Volver al principio de la página

Esta obra está bajo una licencia de Creative Commons Reconocimiento-CompartirIgual 3.0 España.