Recibir Variable post

Procesar variables de formularios

Veremos cómo transferir variables de una página a otra por medio de formularios


Este tipo de transferencia es de gran utilidad ya que nos permite interaccionar directamente con el usuario. 

El proceso es similar al explicado para las URLs. Primeramente, presentamos una primera página con el formulario clásico a rellenar y las variables son recogidas en una segunda página que las procesa: 

Nota: No siempre se definen automáticamente las variables recibidas por el formulario 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>formulario.html</TITLE>
</HEAD>
<BODY>
<FORM METHOD="POST" ACTION="destino2.php">
Nombre<br>
<INPUT TYPE="TEXT" NAME="nombre"><br>
Apellidos<br>
<INPUT TYPE="TEXT" NAME="apellidos"><br>
<INPUT TYPE="SUBMIT">
</FORM>
</BODY>
</HTML>

 

<HTML>
<HEAD>
<TITLE>destino2.php</TITLE>
</HEAD>
<BODY>
<?
echo "Variable \$nombre: $nombre <br>\n";
echo "Variable \$apellidos: $apellidos <br>\n"
?>
</BODY>
</HTML>

 

 


$HTTP_POST_VARS

Recordamos que es posible recopilar en una variable tipo array el conjunto de variables que han sido enviadas al script por este método a partir de la variable de sistema $HTTP_POST_VARS.

echo "Variable \$nombre: " . $HTTP_POST_VARS["nombre"] . "<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_POST_VARS por dos razones, la primera que así nos aseguramos que esa varible viene realmente de un formulario 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 un formulario.


$_POST

A partir de PHP 4.1.0 se pueden recoger las variables de formulario utilizando también el array asociativo $_POST, que es el mismo que $HTTP_POST_VARS, pero más corto de escribir.

Ejemplo de restricción de acceso por edad

Para continuar aportando ejemplos al uso de formularios vamos a realizar una página que muestra solicita la edad del visitante y, dependiendo de dicha edad, permita o no visualizar el contenido de la web. A los mayores de 18 años se les permite ver la página y a los menores no.

El ejemplo es muy sencillo y no valdría tal cual está para utilizarlo a modo de una verdadera restricción de acceso. Únicamente nos sirve para saber cómo obtener datos de un formulario y como tratarlos para realizar una u otra acción, dependiendo de su valor.

La página del formulario, que hemos llamado edad.php tendría esta forma:

<html> 
<head> 
<title>Restringir por edad</title> 
</head> 

<body> 

<form action="edad2.php" method="post"> 
Escribe tu edad: <input type="text" name="edad" size="2"> 
<input type="submit" value="Entrar"> 
</form> 

</body> 
</html>

Esta es una página sin ningún código PHP, simplemente tiene un formulario. Fijémonos en el action del formulario, que está dirigido hacia una página llamada edad2.php, que es la que recibirá el dato de la edad y mostrará un contenido u otro dependiendo de ese valor. Su código es el siguiente:

<html> 
<head> 
<title>Restringir por edad</title> 
</head> 

<body> 

<? 
$edad = $_POST["edad"]; 
echo "Tu edad: $edad<p>"; 

if ($edad < 18) { 
echo "No puedes entrar"; 
}else{ 
echo "Bienvenido"; 

?> 
</body> 
</html>

Esperamos que este otro código tampoco resulte extraño. Simplemente se recibe la edad, utilizando el array $_POST. Luego se muestra la edad y se ejecuta una expresión condicional en función de que la edad sea menor que 18. En caso positivo (edad menor que 18), se muestra un mensaje que informa de que no se deja acceder al página. En caso negativo (mayor o igual a 18) se muestra un mensaje de bienvenida.

  • 18 Los Usuarios han Encontrado Esto Útil
¿Fue útil la respuesta?

Related Articles

Traductor de Google para tu Pagina

<!-- Google Translate Element --> <div id="google_translate_element"...

Ventana Modal

  <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"...

Efecto Twitter Pajarito Volando

<script src="http://oloblogger.googlecode.com/files/tripleflap.js"...

Comandos de consola ssh para cpanel

Forzar Backup de cpanel Con el guion /scripts/cpbackup --force puede comenzar esto   #...

Cambiar puerto ssh

A fin de mejorar la seguridad de tu servidor es importante que modifiques el puerto ssh de tu...