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…
¿Y qué pasa si quiero enviar $variable a otra página?
Hola José María, pasarlo a otra página por post es muy facil, solo tienes que usar la etiqueta form de la siguiente forma.
form method=»POST» action=»la pagina que quieras»
De ese forma puedes recoger los datos por medio de $_POST pero ten cuidado con la comprobación de si existe el array por que de lo contrario te puedes encontrar errores.
Espero haberte ayudado. 🙂
Sí. Muchas gracias
Abusando un poco de tu amabilidad te explico mi problema:
tengo 2 frames y en uno de ellos hay una lista de películas que al pulsar sobre alguna te saca la información en la otra, pero no sé como pasarlo.
Gracias de nuevo y disculpa
Bueno yo eso que dices lo haría por medio de ajax. Uso básico de ajax
Con esto te evitas tener que cargar toda la web cada vez y sol ose recarga la que recibe la petición.