Autonomía digital y tecnológica

Código e ideas para una internet distribuida

Cómo pasar variables de una página a otra en una web con PHP

Imago voragine.net
[actualizado el ]

Hay dos métodos para pasar variables de una página a otra: utilizando un formulario o mediante la URL. Cada uno tiene una manera de recuperar los datos en la página de destino, el primero mediante el uso de la variable global $_POST, el segundo mediente $_GET.

Utilizaremos el primer método cuando tengamos que usar un formulario para que el usuario introduzca algún valor, como por ejemplo en un formulario de búsqueda o en uno de contacto que permita enviar un mensaje. Utilizaremos el segundo cuando sean variables que no dependan en absoluto de la interacción del usuario, sino que sencillamente queramos transferir de una página a otra.

Paso de variables mediante formulario y $_POST

En la página de origen construiremos un formulario. Transferiremos a la página de destino las variables deseadas mediante la marca input de tipo hidden, con el atributo name las definiremos, y con el atributo value les asignaremos un valor.

<form action="http://url.pagina.destino" method="post">
 <input type="hidden" name="variable1" value="valor1" />
 <input type="hidden" name="variable2" value="valor2" />
 <input type="text" value="" />
 <input type="submit" value="Buscar" />
</form>

Para recuperar las variables en la página dedestino bastará utilizar la variable global $_POST:

$v1 = $_POST['variable1'];
$v2 = $_POST['variable2'];

Paso de variables mediante URL y $_GET

En la página de origen construiremos un enlace a la página de destino que incluya las variables a transferir, de la siguiente manera:

<a href="http://url.pagina.destino/?variable1=valor1&variable2=valor2">Enlace a página de destino</a>

Para recuperar las variables en la página dedestino bastará utilizar la variable global $_GET:

$v1 = $_GET['variable1'];
$v2 = $_GET['variable2'];

96 comentarios

    • Por martin

    Gracias por el artículo y tutorial
    Relacionado con este tema, una consulta:
    ¿Es posible generar url con los datos introducidos por el usuario de una web y que sean indexadas por google?
    Siguiendo el ejemplo de este artículo si el usuario busca la distancia entre madrid y barcelona, al hacer el submit, se genera una url nueva con esos datos. ¿Es posible guardar de alguna forma esa nueva url y que google la indexe?. Y como de complejo sería sin tener muchos conocimientos de programación.

    1. Hola Martín,

      Google puede indexar esa URL, sí. Para ayudar a Google a encontrar esa URL y a darle importancia hay que referenciarlar, ir construyendo su reputación para los buscadores como Google. Para ello puedes enlazar dicha URL desde otras páginas., puedes incluirla en el sitemap de tu web… Esto son más técnicas de optimización para indexación en buscadores (SEO) que nociones sobre PHP.

    • Por Martin

    Gracias Skotperez. Me ha servido de gran ayuda este post. y lo utilizo en mi sitio.
    En el ejemplo que he puesto en mi comentarios si inserto distancia entre Madrid y Barcelona. en http://www.distanciaentre.org me genera esta url :
    https://www.distanciaentre.org/calcular-ruta.php?salida=Madrid&destino=Barcelona
    Esa es la url que quisiera fuera indexada por google de forma automática. Creo que la única forma sería que se almacenara en una base de datos.

    • Por HUGO •

    Me sirvió, bastante, muchas gracias por la ayuda…

    • Por Luis •

    Hola, espero por favor puedas ayudarme
    Tengo una pagina web donde ofrezco un curso.
    El problema es que un organismo de gobierno me esta pidiendo que inserte un boton que redirija al usuario a una pagina de gobierno y al mismo tiempo le envie via POST unas variables.
    Luego se supone que el usuario llenara un formulario y sera redirigido a mi pagina para continuar el curso.
    Mi pagina esta en wordpress solo me manejo en eso, pero la inclusión de variables en un boton via POST ya se me escapa…

    HEEEEEELP!!

    1. Hola Luis,

      lo que necesitas está explicado en la sección «Paso de variables mediante formulario y $_POST» de este artículo. La clave son los parámetros de la marca form: en url tienes que poner la URL del gobierno, y en method post.

    • Por fernando

    En realidad hay form, pero javascript hace lo suyo, no lo diseñe yo, lo obtube de una web y me ayudo muchisimo. Saludos

    $usuario=’ferbarrazaTDF’;
    echo »

    Procesando…

    function enviarForm(){
    document.nameForm.submit();
    }

    «;

    • Por Bizagi

    Muchas gracias

  1. te consulto tengo una variable en un archivo php pero lo quiero usar en otro archivo distinto al archivo destino se puede?

Dejar un comentario

*
*

 

3 trackbacks