gratiszona

Variables externas a PHP

Formularios HTML (GET y POST)

Cuando se envia un formulario a un script PHP, las variables de dicho formulario pasan a estar automaticamente
disponibles en el script gracias a PHP. Por ejemplo, consideremos el siguiente formulario:
<form action="foo.php3" method="post">
Name: <input type="text" name="name"><br>
<input type="submit">
</form>

Cuando es enviado, PHP creara la variable $name, que contendra lo que sea que se introdujo en el campo Name: del
formulario.
PHP tambien maneja arrays en el contexto de variables de formularios, pero solo en una dimension. Se puede, por ejemplo
agrupar juntas variables relacionadas, o usar esta caracteristica para recuperar valores de un campo select input multiple:
Ejemplo. Variables de formulario mas complejas
<form action="array.php" method="post">
Name: <input type="text" name="personal[name]"><br>
Email: <input type="text" name="personal[email]"><br>
Beer: <br>
<select multiple name="beer[]">
<option value="warthog">Warthog
<option value="guinness">Guinness
<option value="stuttgarter">Stuttgarter Schwabenbräu
</select>
<input type="submit">
</form>

Si la posibilidad de PHP de track_vars esta activada, ya sea mediante la opcion de configuracion track_vars o mediante la
directiva <?php_track_vars?>, las variables enviadas con los metodos POST o GET tambien se encontraran en los
arrays asociativos globales $HTTP_POST_VARS y $HTTP_GET_VARS.
IMAGE SUBMIT variable names
Cuando se envia un formulario, es posible usar una imagen en vez del boton submit estandar con una etiqueta como:
<input type=image src="image.gif" name="sub">
Cuando el usuario hace click en cualquier parte de la imagen, el formulario que la acompaña se transmitira al servidor con
dos variables adicionales, sub_x y sub_y. Estas contienen las coordenadas del click del usuario dentro de la imagen. Los
mas experimentados puede notar que los nombres de variable enviados por el navegador contienen un guion en vez de un
subrallado (guion bajo), pero PHP convierte el guion en subrallado automaticamente.

Cookies HTTP

PHP soporta cookies de HTTP de forma transparente tal y como estan definidas en en las Netscape’s Spec
(http://www.netscape.com/newsref/std/cookie_spec.html). Las cookies son un mecanismo para almacenar datos en el
navegador y asi rastrear o identificar a usuarios que vuelven. Se pueden crear cookies usando la funcion SetCookie(). Las
cookies son parte de la cabecera HTTP, asi que se debe llamar a la funcion SetCookie antes de que se envie cualquier salida
al navegador. Es la misma restriccion que para la funcion Header(). Cualquier cookie que se reciba procedente del cliente
sera convertida automaticamente en una variable de PHP como con los datos en los metodos GET y POST.
Si se quieren asignar multiples valores a una sola cookie, basta con añadir [] al nombre de la. Por ejemplo:
SetCookie ("MyCookie[]", "Testing", time()+3600);
Notese que una cookie reemplazara a una cookie anterior que tuviese el mismo nombre en el navegador a menos que el
camino (path) o el dominio fuesen diferentes. Asi, para una aplicacion de carro de la compra se podria querer mantener un
contador e ir pasandolo.
Ejemplo. SetCookie Example
$Count++;
SetCookie ("Count", $Count, time()+3600);
SetCookie ("Cart[$Count]", $item, time()+3600);

Variables de entorno

PHP hace accesibles las variables de entorno automaticamente tratandolas como variables normales.
echo $HOME; /* Shows the HOME environment variable, if set. */
Dado que la informacion que llega via mecanismos GET, POST y Cookie crean automaticamente variables de PHP
algunas veces es mejor leer variables del entorno explicitamente para asegurarse de que se esta trabajando con la version
correcta. La funcion getenv() se puede usar para ello. tambien se puede asignar un valor a una variable de entorno con la
funcion putenv().

Determinando los tipos de variables

Dado que PHP determina los tipos de las variables y los convierte (generalmente) segun necesita, no siempre resulta obvio
de que tipo es una variable dada en un momento concreto. PHP incluye varias funciones que descubren de que tipo es una
variable. Son gettype(), is_long(), is_double(), is_string(), is_array() y is_object().
102
Anterior: ambito de las variables en php
Siguiente: constantes en php