Variables externas a PHP
Formularios HTML (GET y POST)
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
:
Ejemplo
8-1
.
Variables
de
formulario
simples
form
action="
foo.php3
"
method="post
"
Name
:
input
type="text
"
name="name
"
br
input
type="submit
"
/
form
|
|
Cuando
es
enviado
,
PHP
creará
la
variable
$name
,
que
contendrá
lo
que
sea
que
se
introdujo
en
el
campo
Name
:
del
formulario
.
PHP
también
maneja
arrays
en
el
contexto
de
variables
de
formularios
,
pero
sólo
en
una
dimensión
.
Se
puede
,
por
ejemplo
,
agrupar
juntas
variables
relacionadas
,
o
usar
esta
característica
para
recuperar
valores
de
un
campo
select
input
múltiple
:
Ejemplo
8-2
.
Variables
de
formulario
más
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
está
activada
,
ya
sea
mediante
la
opción
de
configuración
track_vars
o
mediante
la
directiva
?php_track_vars
?
,
las
variables
enviadas
con
los
métodos
POST
o
GET
también
se
encontrarán
en
los
arrays
asociativos
globales
$HTTP_POST_VARS
y
$HTTP_GET_VARS
.
IMAGE SUBMIT variable names
Cuando
se
envía
un
formulario
,
es
posible
usar
una
imagen
en
vez
del
botón
submit
estándar
con
una
etiqueta
como
:
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
.
Cookies HTTP
PHP
soporta
cookies
de
HTTP
de
forma
transparente
tal
y
como
están
definidas
en
en
las
Netscape
'
s
Spec
.
Las
cookies
son
un
mecanismo
para
almacenar
datos
en
el
navegador
y
así
rastrear
o
identificar
a
usuarios
que
vuelven
.
Se
pueden
crear
cookies
usando
la
función
SetCookie(
)
.
Las
cookies
son
parte
de
la
cabecera
HTTP
,
así
que
se
debe
llamar
a
la
función
SetCookie
antes
de
que
se
envíe
cualquier
salida
al
navegador
.
Es
la
misma
restricción
que
para
la
función
header(
)
.
Cualquier
cookie
que
se
reciba
procedente
del
cliente
será
convertida
automáticamente
en
una
variable
de
PHP
como
con
los
datos
en
los
métodos
GET
y
POST
.
Si
se
quieren
asignar
múltiples
valores
a
una
sola
cookie
,
basta
con
añadir
[
]
al
nombre
de
la
.
Por
ejemplo
:
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
.
Ejemplo
8-3
.
SetCookie
Example
$Count++
;
SetCookie
("Count"
,
$Count
,
time()+3600)
;
SetCookie
("Cart[$Count]"
,
$item
,
time()+3600)
;
|
|
Variables de entorno
PHP
hace
accesibles
las
variables
de
entorno
automáticamente
tratándolas
como
variables
normales
.
Dado
que
la
información
que
llega
vía
mecanismos
GET
,
POST
y
Cookie
crean
automáticamente
variables
de
PHP
,
algunas
veces
es
mejor
leer
variables
del
entorno
explícitamente
para
asegurarse
de
que
se
está
trabajando
con
la
versión
correcta
.
La
función
getenv(
)
La
función
getenv(
)
se
puede
usar
para
ello
.
También
se
puede
asignar
un
valor
a
una
variable
de
entorno
con
la
función
putenv(
)
.
Puntos en los nombres de variables de entrada
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
,
mire
esto
:
$varname.ext
;
/
*
nombre
de
variable
no
válido
*
/
|
Lo que el intérprete ve es el nombre de una variable $varname,
seguido por el operador de concatenación, y seguido por la
prueba (es decir, una cadena sin entrecomillar que no coincide
con ninguna palabra clave o reservada conocida) 'ext'.
Obviamente, no se pretendía que fuese este el resultado.
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
)
.
Determinando los tipos de variables
Dado
que
PHP
determina
los
tipos
de
las
variables
y
los
convierte
(
generalmente
)
según
necesita
,
no
siempre
resulta
obvio
de
qué
tipo
es
una
variable
dada
en
un
momento
concreto
.
PHP
incluye
varias
funciones
que
descubren
de
qué
tipo
es
una
variable
.
Son
gettype(
)
,
is_long(
)
,
is_double(
)
,
is_string(
)
,
is_array(
)
,
y
is_object(
)
.