Como pasar variables entre páginas con php

Una de las cosas más complicadas para el estudiante de php puede ser precisamente esto, pasar variables de una página a otra, pero es realmente sencillo, de hecho hay dos formas:

Por medio de formularios

Para poder enviar datos de una web a otra es muy sencillo, de hecho en el manual de php tenéis todo un tema (Lectura de datos desde WEB), donde se puede estudiar cada tipo de input por separado, pero por hacer un resumen podemos decir que esta forma se compone de:

  • Un formulario con un método y un destino, que puede ser o no el mismo archivo según nuestros deseos y necesidades
  • Una zona de recepción de datos por medio de $_GET o $_POST, según el método del formulario que envía, aunque también se puede usar $_REQUEST que recoge a ambas y puede resultar muy útil.

Veamos un ejemplo en el mismo archivo:

<?php
if ($_POST){//este código se ejecuta tan solo si se detecta una matriz de datos que e le envia
	$nombre = $_POST['nombre'];//recoge la variable nombre y la guarda para trabajar con ella
	echo 'hola ' . $nombre;

}else{
	?>
	<form method="POST" action="muestra.php">
		Nombre: <input type="text" name="nombre"/><br>
		<!--El name le indica a php el nombre de la variable-->
		<input type="submit" value="Enviar">
	</form>
	<?php
}
?>

Insisto en que puedes encontrar muchos ejemplos de este tipo en el tutorial por lo que no le daremos más vueltas aquí.


Desde una URL

En esta forma podemos hacer todo lo que queramos de hecho se pueden introducir variables en las direcciones para crear enlaces de forma dinámica por medio de consultas a bases de datos… (si queréis que lo explique dejadlo en comentarios) pero todas funcionan de la misma forma:

  • Es necesaria una url con las siguientes condiciones:
    • Debe de apuntar a una página que exista
    • Debe de terminar con el signo ?
    • Los nombres de las variables no llevan ningún signo especial y se separan de su valor por un signo =
    • La separación entre pares de variable-valor se hace por medio del simbolo &

De este modo podríamos tener un enlace del tipo:

<a href="http://urlPaginaDestino?variable1=valor1&variable2=valor2">Nombre</a>

No hay límite en el número de variables que podemos pasar así.

Finalmente para recuperar las variables desde la URL debemos de utilizar $_GET o $_REQUEST para poder trabajar con ellas de forma normal de la siguiente forma:

<?php
$variable1 = $_GET['variable1'];
$variable2 = $_GET['variable2'];
?>

Ya con esto se puede empezar a trabajar y poco a poco os iréis dando cuenta de la potencia y de las cosas que se pueden hacer…