< PHP:

Variables predefinidas

PHP proporciona una gran cantidad de variables predefinidas para todos los scripts.

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

Las variables representan de todo, desde variables externas hasta variables de entorno incorporadas, desde los últimos mensajes de error hasta los últimos encabezados recuperados.


PHP Variables Predefinidas

$_REQUEST , $_GET , $_POST

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

Una matriz asociativa que por defecto contiene el contenido de $ _GET , $ _POST y $ _COOKIE

 <?
$nombre = $_REQUEST['nombre'];
$movil = $_REQUEST['movil'];
$correo = $_REQUEST['correo'];
$texto = $_REQUEST['texto'];

ó


$nombre = $_GET['nombre'];
$movil = $_GET['movil'];
$correo = $_GET['correo'];
$texto = $_GET['texto'];

ó

$nombre = $_POST['nombre'];
$movil = $_POST['movil'];
$correo = $_POST['correo'];
$texto = $_POST['texto'];

ó

$cookies=$_COOKIE["name"]
?>     
      

RESUMEN DE LAS DIFERENCIAS ENTRE $GET, $POST Y $REQUEST

MÉTODO

CONCEPTO

OBSERVACIONES

GET

GET lleva los datos de forma "visible" al cliente (navegador web). El medio de envío es la URL. Para recoger los datos que llegan en la url se usa $_GET.

Los datos son visibles por la URL, por ejemplo:

www.aprenderaprogramar.com/

action.php?nombre=pedro&apellidos1= gomez

POST

POST consiste en datos "ocultos" (porque el cliente no los ve) enviados por un formulario cuyo método de envío es post. Es ideal para formularios. Para recoger los datos que llegan por este método se usa $_POST.

La ventaja de usar POST es que estos datos no son visibles al usuario de la web. En el caso de usar get, el propio usuario podría modificar la URL escribiendo diferentes parámetros a los reales en su navegador, dando lugar a que la información tratada no sea la prevista.

REQUEST

No es un método de envío propiamente dicho, es decir, no podemos poner en un formulario HTML que el method sea REQUEST. Con la variable $_REQUEST recuperaremos los datos de los formularios enviados tanto por GET como por POST.

La ventaja principal de esta forma de recuperar los datos de un formulario es que no tenemos que saber con cual método fue enviado. La desventaja principal es que no podremos diferenciar una variable enviada por GET o por POST.

$_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";
?>
ERROR (no puede mostrarse el objeto)

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";
?>