Es posible que ya os hayáis percatado de que 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:
<a href="destino.php?variable1=valor1&variable2=valor2&...">Mi enlace</a>
Podéis observar 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.
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:
<HTML>
<HEAD>
<TITLE>origen.html</TITLE>
</HEAD>
<BODY>
<a href="destino.php?saludo=hola&texto=Esto es una variable texto">Paso variables saludo y texto a la página destino.php</a>
</BODY>
</HTML>
<HTML>
<HEAD>
<TITLE>destino.php</TITLE>
</HEAD>
<BODY>
<?
echo "Variable $saludo: $saludo <br>n";
echo "Variable $texto: $texto <br>n"
?>
</BODY>
</HTML>
<?
echo "Variable $saludo: $HTTP_GET_VARS["saludo"] <br>n";
echo "Variable $texto: $HTTP_GET_VARS["texto"] <br>n"
?>
La solución en PHP es sencilla, simplemente debemos codificar la variable que tiene caracteres conflictivos a formato URL. Para ello utilizamos la función urlenconde(), que viene en la librería de funciones de PHP. Podemos encontrar más información sobre esto en la FAQ: Problemas con variables pasadas en la URL en algunos caracteres.
| Por: Miguel Angel Alvarez | 15/2/2002
|
La creación automática o no depende de nuestra configuración del PHP, que se especifica en el archivo PHP.ini. Para este caso concreto se debe configurar la variable:
track_vars boolean
Si está activada, la información de entrada de GET, POST y de las cookies se puede encontrar en las matrices asociativas $HTTP_GET_VARS,$HTTP_POST_VARS y $HTTP_COOKIE_VARS respectivamente
| Por: Guillem Catala | 08/7/2002
|
Los que no lo hayan comprovado lo pueden ver configurando php.ini y poner error_reporting= E_ALL; en el apartado de ERROR HANDLING.
| Por: Rubén | 27/10/2002
|
| Por: José Muñoz Rojas | 18/3/2003
|
| Por: manuel | 24/4/2003
|
| Por: David Martinez | 16/9/2003
|
| Por: Juan | 05/1/2005
|
| Por: Ariel Jerez | 30/1/2005
|
| Por: Alberto | 24/3/2005
|
| Por: David xgamanet | 13/4/2005
|
| Por: Ruth | 24/5/2005
|
RESPUESTA:
Entonces utiliza variables de sesión, que almacenan el objeto en el servidor y se asocia con el identificador de la sesión abierta por el visitante.
Las variables de sesión estarán disponibles durante toda la visita del usuario al sitio sin que las tengas que pasar de página a página.
| Por: Ronin | 03/6/2005
|
| Por: Jorge | 08/2/2006
|
| Por: rafaconpu | 13/3/2006
|
| Por: aldoemilio | 14/3/2006
|
| Por: Axel | 15/8/2006
|
| Por: Miguel Angel Alvarez | 13/1/2007
|
| Por: TioLucas | 21/4/2007
|
| Por: Eduardoartemis | 22/6/2007
|
| pregunta sobre variables Por: Lu | 20/1/2010
|
![]() WeAreTh... | post php | 25/2/2010 |
| Pasar variables de una pagina a otra | 25/2/2010 |
| cual es mi falla por favor diganme Por: luis | 17/4/2010
|
| excelente aporte Por: osiris | 02/6/2010
|
![]() roberto... | Muy buena la solucion de AXEL | 04/6/2010 |
| Primer Ejemplo Por: spanisher | 23/6/2010
|
| Ayudaaa Por: karinaduarte | 02/7/2010
|
| gracias Por: mauricio restrepo | 24/7/2010
|
| así me funciona a mí.... Por: Gonzalo Alonso Guerrero | 22/9/2010
|
![]() Jhorman... | Me ha funcionado como Axel ha dicho. | 17/12/2010 |
| Sobre validación de código | 14/1/2011 |
![]() ray_fel... | funciona | 30/7/2011 |
![]() yandelf... | otra solucion! | 01/9/2011 |
![]() manigor... | como hacer link a otra pagina desde un campo especifico | 14/11/2011 |