| <a href="destino.php?variable1=valor1&variable2=valor2&...">Mi enlace</a> |
| Nota: 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. |
|
<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"
?>
| Nota: Aunque podamos recoger variables con este array asociativo o utilizar directamente las variables que se definen en nuestra página, resulta más seguro utilizar $HTTP_GET_VARS por dos razones, la primera que así nos aseguramos que esa varible viene realmente de la URL y la segunda, que así nuestro código será más claro cuando lo volvamos a leer, porque quedará especificado que esa variable estamos recibiéndola por la URL. |
Caracteres especiales en URL y su codificación con PHP
Hay algunos caracteres raros que no se pueden pasar, tal cual, por la URL. Por ejemplo, una URL no puede contener espacios en blanco, por lo que si intentas enviar una variable por URL con un valor que tiene un espacio en blanco, te dará problemas. Por ejemplo, el signo "*" no puede figurar tampoco en una URL. Así pues, tenemos que hacer algo para convetir esos caracteres, de modo que no den problemas en la URL.
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/02
|
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/02
|
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/02
|
| Por: José Muñoz Rojas | 18/3/03
|
| Por: manuel | 24/4/03
|
| Por: David Martinez | 16/9/03
|
| Por: Juan | 05/1/05
|
| Por: Ariel Jerez | 30/1/05
|
| Por: Alberto | 24/3/05
|
| Por: David xgamanet | 13/4/05
|
| Por: Ruth | 24/5/05
|
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/05
|
| Por: Jorge | 08/2/06
|
| Por: rafaconpu | 13/3/06
|
| Por: aldoemilio | 14/3/06
|
| Por: Axel | 15/8/06
|
| Por: Miguel Angel Alvarez | 13/1/07
|
| Por: TioLucas | 21/4/07
|
| Por: Eduardoartemis | 22/6/07
|