Bienvenidos sean a este post, hoy veremos como enviar y recibir informacion por medio de PHP.
En el post anterior vimos como es HTML y como podemos integrarlo con PHP para hacer tareas del lado del servidor y devolverlos en la pagina pero hoy nos centraremos en como poder enviar informacion desde nuestra pagina, recibirla y procesarla.
Para recibir la informacion se utilizan tres funciones:
- $_GET
- $_POST
- $_REQUEST
Si observan los dos primeros nombres tienen como referencia los metodos de envio de los formularios en las paginas web (POST y GET) los cuales recuperan dicha informacion y siempre deben usar el mismo metodo, por ejemplo si nuestro formulario usa el metodo POST pero para recuperar la informacion usamos a $_GET nos devolvera un error porque la informacion se envia de forma distinta a como intenta recuperarla pero tenemos la tercera opcion que nos permite recuperar la informacion sin importar como se envie, inclusive si esta se hace por medio de la url, como sucede con AJAX, en lo personal es la que mas utilizo, la sintaxis es similar en todos los casos:
$_GET['identificador'];
$_POST['identificador'];
$_REQUEST['identificador'];
Siendo el identificador el nombre del campo que posee la informacion, para entender este concepto vamos a crear un ejemplo simple y para ello haremos un nuevo archivo en la raiz de nuestro servidor tal como vimos en el post anteiror y lo llamaremos saludo.php y le agregaremos el siguiente codigo:
saludo.php
<html>
<head>
<title>Pagina de saludo</title>
<script language="javascript">
<!--
function subir()
{
var nombre = document.getElementById("nombre").value;
location.href="saludo.php?nombre=" + nombre;
}
//-->
</script>
</head>
<body>
Ingresa tu nombre:
<input type="text" id="nombre" value="">
<br>
<br>
<button type="button" onclick="subir()">Ejecutar</button>
</body>
</html>
Nota: usaremos un poco de Javascript para hacer el codigo un poco mas ameno.
La estructura de la pagina es muy similar a lo visto anteriormente pero en este caso agregamos una par de elementos interesantes pero primero hablaremos del body, donde agregamos el siguiente elemento:
<input type="text" id="nombre" value="">
Este es el cuadro de textos mas basico que podemos crear para permitir a la persona ingresar un valor o dato para ser almacenado o procesado, en este caso lo usaremos para almacenar el nombre de la persona, despues usamos a br para emular al Enter y equivale al modificador \n que vimos en la primera parte del curso cuando trabajabamos con la terminal, para despues usar este elemento:
<button type="button" onclick="subir()">Ejecutar</button>
Este elemento representa a un boton y le decimos que el tipo sea button porque necesitamos que trabaje de esta forma porque en realidad tiene estos tres tipos:
- button, como dijimos trabaja como boton y necesita asociarse a una accion
- reset, resetea la pagina o formulario que este trabajando
- submit, tiene como accion predeterminada subir los datos del formulario pero no de la pagina.
Como los dos ultimos tipos son para formularios (forms) y nosostros no trabajamos ahora de esta forma por lo tanto nos resulta completamente obsoletos y por esta razon usamos el tipo button, luego tenemos a onclick, este se denomina escuchadores o listeners y estan esperando un evento para ejecutarse para este caso es cuando hacemos click sobre el boton y el evento llama a la funcion subir, de la cual hablaremos en un momento, por ultimo tenemos el titulo que tendra el boton, lo ultimo sera el tag de script donde esta la funcion subir, veamos este bloque:
<script language="javascript">
<!--
function subir()
{
var nombre = document.getElementById("nombre").value;
location.href="saludo.php?nombre=" + nombre;
}
//-->
</script>
Al igual que otro tag este se encarga de usar a javascript o el lenguaje que le pasemos, la primera linea despues del tag script y la ultima antes del tag de cierre son dos lineas que se usan para que los navegadores muy viejos o incompatibles con este lenguaje la omitan y no devuelvan errores, dentro tenemos la funcion subir donde primero crearemos una nueva variable llamada nombre donde usaremos la funcion getElementById para que busque el elemento con el id de nombre y de este obtenga su valor, por ultimo utilizamos a location.href para abrir nuevamente a la pagina pero esta vez le pasaremos un identificador para el valor obtenido anteriormente, por el momento si lo probamos solamente nos direccionara a la pagina con el dato pasado, con todo esto comentado vamos a trabajar con PHP y para ello agregaremos el siguiente bloque antes de la etiqueta html:
Nota: Si les interesa aprender un poco mas sobre Javascript les recomiendo este post donde tenemos el curso completo sobre este lenguaje.
<?php
if (isset($_REQUEST["nombre"]))
{
$nombre = $_REQUEST["nombre"];
} else {
$nombre = "";
}
if ($nombre != "")
{
$texto = "Hola, " . $nombre;
}
else
{
$texto = "No ingresaste ningun nombre";
}
?>
El primer condicional es uno que utilizo habitualmente en mis paginas, donde primero usamos a isset para $_REQUEST con el id informado como nombre en la url de la pagina en caso de ser verdadero procede a asignarlo en una variable para la ocasion usaremos nombre, de lo contrario define a la variable nombre pero en blanco, esto nos permitira tener todas las variables y no nos generara ningun error, lo siguiente es otro condicional donde verificamos si nombre es distinto de nada y en caso de ser verdadero define una variable llamada texto y pondremos el saludo a la persona, de lo contrario define a texto con un mensaje informando que no se informo ningun nombre, por ultimo debemos agregar este bloque de PHP despues del boton dentro del cuerpo de la pagina:
<?php echo "<br><br>$texto"; ?>
Este hara dos nuevas lineas para separar el valor de texto del boton, antes de probarlo veamos como quedo el codigo final:
saludo.php
<?php
if (isset($_REQUEST["nombre"]))
{
$nombre = $_REQUEST["nombre"];
} else {
$nombre = "";
}
if ($nombre != "")
{
$texto = "Hola, " . $nombre;
}
else
{
$texto = "No ingresaste ningun nombre";
}
?>
<html>
<head>
<title>Pagina de saludo</title>
<script language="javascript">
<!--
function subir()
{
var nombre = document.getElementById("nombre").value;
location.href="saludo.php?nombre=" + nombre;
}
//-->
</script>
</head>
<body>
Ingresa tu nombre:
<input type="text" id="nombre" value="">
<br>
<br>
<button type="button" onclick="subir()">Ejecutar</button>
<?php echo "<br><br>$texto"; ?>
</body>
</html>
Con todo esto comentado y visualizado podemos pasar a ver como trabaja nuestra pagina mediante el siguiente video
En el video podemos ver como nos recibe toda la informacion y la procesa para mostrar el mensaje ya sea que posee un nombre o no, esta es la forma mas basica para poder trabajar con informacion enviada a una pagina, en el proximo post veremos lo mismo pero con un formulario.
En resumen, hoy hemos visto como trabajar con informacion de una pagina web, hemos mencionado los tres disponibles pero hemos trabajado con un solo como es $_REQUEST, hemos creado un pequeño ejemplo para enviar informacion por medio de la URL y como podemos tomar ese dato, procesarlo y devolverlo en la pagina, espero les haya sido util sigueme en tumblr, Twitter o Facebook para recibir una notificacion cada vez que subo un nuevo post en este blog, nos vemos en el proximo post.


Donación
Es para mantenimento del sitio, gracias!
$1.50
