VARIABLE POR URL


Las variables de un script tienen una validez exclusiva para el script y que nos resulta imposible conservar su valor cuando ejecutamos otro archivo distinto aunque ambos estén enlazados. Existen varias formas de enviar las variables de una página a otra de manera a que la página destino reconozca el valor asignado por el script de origen:


TOMAR VARIABLES POR URL


Para tomar las variables de una página a otra lo podemos hacer introduciendo dicha variable dentro del enlace hipertexto de la página destino. La sintaxis sería la siguiente:
<ahref="destino.php?variable1=valor1&variable2=valor2&...">Mi enlace</a>
Observa que estas variables no poseen el símbolo $ delante. Esto es debido a que en realidad este modo de pasar variables no es específico de PHP sino que es utilizado por otros lenguajes.

Ahora nuestra variable pertenece también al entorno de la página destino.php y está lista para su explotación.


No siempre se definen automáticamente las variables recibidas por parámetro en las páginas web, depende de una variable de configuración de PHP: register_globals, que tiene que estar activada para que así sea. Ver comentarios del artículo al final de la página para más información.

Para aclarar posibles dudas, veamos esto en forma de ejemplo. Tendremos pues dos páginas, origen.html (no es necesario darle extensión PHP puesto que no hay ningún tipo de código) y destino.php:

AMBITO DE LAS VARIABLES 

El ámbito de una variable es el lugar en el que ésta funciona, es decir, en donde la variable tiene validez.  De no indicar otra cosa, la variable tendrá su ámbito dentro de la página en la que fue creada, y a su vez dentro de la función en la que fue creada (más adelante explicaremos las funciones), no pudiendo ser utilizada en otra página. Sin embargo, existen métodos para pasar los valores o datos que almacena una variable a otra página, tal como hemos visto en el tema anterior con los formularios, pero también podemos pasar variables de una página a otra sin que éstas sean creadas por los formularios 


TRASPASO DE VARIABLES POR ENLACES 

Podemos pasar una o varias variables a otra página cuando la abrimos con un enlace, mediante el siguiente código:

<a href="destino.php?variable1=valor1&variable2=valor2 ...&variableN=valorN "> pasar variables</a>

RECOGER DATOS EN PAGINAS DE DESTINO 

La segunda parte consiste en recoger las variables en la página de destino. Estas son traspasadas mediante el método GET por lo que para recogerlas utilizaremos la variable del tipo $_GET ("variable1") 


PASAR VARIABLES YA DEFINIDAS

Supongamos que en una página definimos una variable:

$saludo="Hola a todos.";

Una vez que está definida queremos mandarla a otra página mediante un enlace. No podemos escribir el enlace directamente con la expresión:

<a href="destino.php?saludo=$saludo">Recibir saludo</a>

Lo que recibiremos en la página de destino es una variable cuyo valor será la palabra "$saludo", y no el contenido de la variable.

para solucionar esto, debemos mandar el enlace dentro del código PHP, como una instrucción echo; es decir en la página de envío para mandar el enlace escribiremos:

<?php 
echo "<a href='destino,php?saludo=$saludo'>Recibir saludo</a>";

?> 
Ahora el valor de la variable que mandamos será en la página de destino el mismo que el de la página de origen, por lo que si lo cambiamos en la página de origen, cambiará también en la de destino.



No hay comentarios:

Publicar un comentario