Cuando se envÃa un formulario a un script PHP, las
variables de dicho formulario pasan a estar automáticamente
disponibles en el script gracias a PHP. Por ejemplo, consideremos
el siguiente formulario:
Dependiendo de tu configuración y preferencias personales, existen
muchas maneras de acceder a los datos de tus formularios
HTML. Algunos ejemplos:
Ejemplo 12-2. Accediendo datos de un formulario simple HTML POST
<?php
// Available since PHP 4.1.0
print $_POST['username'];
print $_REQUEST['username'];
import_request_variables('p', 'p_');
print $p_username;
// Available since PHP 3. As of PHP 5.0.0, these long predefined
// variables can be disabled with the register_long_arrays directive.
print $HTTP_POST_VARS['username'];
// Available if the PHP directive register_globals = on. As of
// PHP 4.2.0 the default value of register_globals = off.
// Using/relying on this method is not preferred.
print $username;
?>
Como hemos dicho, antes de PHP 4.2.0, el valor por defecto de
register_globals era
on (activado). Y, en PHP 3 estba siempre
activado. La comunidad PHP anima a no confiar en esta directiva
ya que es preferible asumir que tiene el valor
off (desactivada) y programar teniendo en
cuenta esto.
PHP tambien entiende matrices en el contexto de variables de
formularios. (vea la faq
relacionada). Se puede, por ejemplo, agrupar juntas
variables relacionadas ó usar esta caracterÃstica para obtener
valores de una entrada "select2 múltiple. Por ejemplo, vamos a
mandar un formulario asi mismo y a presentar los datos cuando se
reciban:
Ejemplo 12-3. Variables de formulario más complejas
<?php if ($HTTP_POST_VARS['action'] == 'submitted') { print '<pre>';
Cuando mandamos un formulario, es posible usar una imagen en vez
del botón estandar de "mandar":
<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 transmitirá al
servidor con dos variables adicionales, sub_x y sub_y. Estas
contienen las coordenadas del click del usuario dentro de la
imagen. Los más experimentados puede notar que los
nombres de variable enviados por el navegador contienen un
guión en vez de un subrayado (guión bajo), pero PHP
convierte el guión en subrayado automáticamente.
Esto creara dos cookies separadas aunque MyCookie será una matriz
simple en el script. Si se quiere definir una sola cookie con
valores multiples, considerar primero el uso de la función
serialize() ó explode() en
el valor.
Nótese que una cookie reemplazará a una cookie
anterior que tuviese el mismo nombre en el navegador a menos que
el camino (path) o el dominio fuesen diferentes. AsÃ, para
una aplicación de carro de la compra se podrÃa
querer mantener un contador e ir pasándolo. P.ej.
TÃpicamente, PHP no altera los nombres de las variables
cuando se pasan a un script. De todas formas, hay que notar que el
punto no es un carácter válido en el nombre de una
variable PHP. Por esta razón:
<?php $varname.ext; /* nombre de variable invalido */ ?>
Por esta razón, es importante hacer notar que PHP
reemplazará automáticamente cualquier punto en los
nombres de variables de entrada por guiones bajos (subrayados).
Atención técnica y comercial: (54)-11-5031-1111 las 24 hs. los 365 días del año. ToWebs, (c) 2008
Virtucom Networks S.A Av. Belgrano 1586, piso 10 (C1093AAQ) Cap. Fed. Bs. As, Argentina.