En el siguiente texto tratare de explicar de la manera más sencilla y detallada, como enviamos variables desde un formulario hacia nuestra página PHP para que esta realice una operación.
Veremos envíos usando GET y POST, muy importante será el envió de Arreglos ya que estos son muy útiles y causa problemas a los programadores novatos.
Si harás las pruebas locales, como en este ejemplo requeriremos de un Servidor instalado en nuestra PC que tenga soporte para PHP, yo en lo personal recomiendo el XAMPP, WAMP o AppServer por su fácil configuración, estos paquetes incluyen básicamente el Servidor Web Apache, MySQL (Manejador de Base de Datos) PHPMyAdmin (Interfaz Web para MySQL) y PHP o bien contar con una cuenta en un servidor que tenga soporte PHP.
Utilizaremos Dreamweaver pues es muy sencillo dibujar formularios usando la vista de diseño.
Ahora empecemos:
Haremos una pequeña aplicación que nos permita enviar el Nombre Apellido y Número telefónico de una persona. Para ello requeriremos de hacer un formulario que contendrá 3 campos de texto y 2 botones uno tipo Submit y otro tipo Reset. Estos componentes los encontraremos en el menú INSERTAR/FORMULARIO
El resultado debe verse de la siguiente manera:
y el código se verá parecido al siguiente; lo importante es la etiqueta FORM e INPUT, lo demás puede variar según el formato que le demos.
Si nos fijamos en el código del formulario el atributo NAME es el nombre del objeto, a través de este haremos referencia en el código de PHP para obtener su valor, así pues cambiaremos los Atributos NAME por unos más amigables, al primer texfield le pondremos "nombre_form", al segundo "apellido_form" y al tercero "tel_form". Para ello seleccionamos el textfield y en la barra de propiedades generalmente ubicada en la parte inferior de la ventana ponemos el nombre del textfield, y repetimos el procedimiento hasta cambiárselo a los 3.
El código:
Ahora cambiaremos el mensaje de los botones, para ello necesitamos cambiar el atributo VALUE eliminar el mensaje por defecto y reemplazarlo por el de nuestra elección.
El código:
Por ultimo ajustaremos el Formulario, en la etiqueta FORM debemos fijarnos en dos atributos el llamado ACTION y el METHOD, el ACTION será a la pagina a donde enviará el formulario (nuestra pagina en PHP) y METHOD es la forma en la que enviará los valores.
Guardaremos la pagina con el nombre "formulario_miniagenda.html"
Bien nuestra etique FORM esta así:
Como podemos ver tenemos como método a utilizar POST (method="post"
y el ACTION se encuentra vacío, ahí es donde debemos poner la ruta hacia nuestro SCRIPT PHP lo llamaremos miniagenda.php y la etiqueta pasará a verse de la siguiente forma:
Con esto tendremos finalizada la preparación de nuestro formulario para el envio de datos. No olvidemos que haremos referencia las variables utilizando el atributo NAME que especificamos en el Formulario.
La recepción de datos la hacemos de la siguiente forma:
Nota: En PHP toda variable va precedida del símbolo $
Entonces para recibir nuestras variables usaremos lo siguiente:
Con ello tendremos almacenado las 3 variables para poder utilizarlas en nuestro Script, así que imprimiremos los valores de dichas variables, utilizando la sentencia ECHO, ahora veremos el Script completo:
Nota: Sintaxis de la sentencia ECHO: echo "cadena a desplegar"; o echo $variable;
Ahora colocaremos el Script que acabamos de realizar, hay 2 formas abrir un bloc de notas, escribir el código y guardar el archivo como "miniagenda.php" o en el dreamweaver hacer clic en el Menú ARCHIVO/NUEVO y en el menú que aparece escoger PAGINA DINAMICA y seleccionar PHP, entonces procedemos a colocar el Script entre las etiquetas BODY, es una buena práctica utilizar el código PHP en una Pagina HTML, aunque con el puro Script en el archivo Funciona.
Ahora probaremos que funcione, según el Servidor que instalemos la carpeta por la cual accederemos a nuestras paginas almacenadas en el puede ser WWW o HTDOCS ahi debemos copiar ambos archivos y acceder a través del navegador web con la dirección http://localhost/formulario_miniagenda.html, rellenamos el formulario y le damos Aceptar, en la siguiente pagina obtendremos una pagina en blanco con los datos que enviamos.
Una ventaja de usar POST es que los valores no se muestran y que es mayor la cantidad de datos que podemos enviar por este método.
Ahora modificaremos levemente el formulario y el script para que funcione con el método GET ...
Lo primero que haremos es modificar la etiqueta FORM, cambiaremos el método de POST a GET se verá de la siguiente forma:
En el script PHP debes reemplazar "$_POST" por "$_GET" como se muestra a continuación:
Como verán no cambiamos el nombre de los objetos, esto es por una sencilla razón el formulario enviará a través de la URL el nombre de los campos con su valor asociado, como habíamos mencionado haremos referencia al contenido de los campos a través del nombre que le hayamos puesto al objeto.
Una vez hecho esto cargamos nuestra pagina como lo hicimos antes, rellenamos los campos y le damos enviar, notarán que el resultado en la pagina web es el mismo pero la URL será diferente.
Fijándonos nos damos cuenta que a partir del símbolo "?" tendremos el nombre del objeto en el formulario con el contenido del mismo. Esta es la particularidad de GET pasar las variables por la URL, pero me van a decir que caso tiene hacer esto, si POST lo hace manteniendo la dirección limpia... bueno cuando programamos en PHP a veces requerimos hacer cosas dinámicamente, en particular un recurso muy socorrido es la creación de un link con variables, veamos un ejemplo:
Construimos un link de la siguiente manera y lo colocamos después de la etiqueta </form>
Es un link común y corriente, que tiene como característica principal un pase de valores a través de la URL lo que llamamos GET, si se fijan son el símbolo "?" avisamos que a continuación mandaremos una o más variables primero escribimos el nombre del objeto con el símbolo "=" para asignar un valor, si requerimos mandar más de una variable, entonces utilizamos el símbolo "&" que le dirá a nuestro script que a partir de ahí empieza una nueva variable.
Ahora vayamos al navegador a probar, pasemos el puntero encima del link y fijémonos en la barra de estado, vean que la dirección esta lista para insertar los datos en el Script PHP ahora demos clic en el link y miremos la URL veremos que están todos los objetos con su valor a excepción del objeto que corresponde al botón, esto se debe a que no estamos usando el formulario; el Script recibe dichos valores y los jala para utilizarlos, el resultado que obtenemos es el mismo que cuando usamos el formulario.
El pase de valores suele ser muy útil en la creación de paneles o paginas dinámicas, WordPress el gestor de Blogs lo utiliza mucho así como el Joomla y otros CMS (Content Manager System).
Bueno me dirán ¡Nos prometiste envío de Arreglos!, si ahí vamos...
Los arreglos son la estructura de datos más solicitada y utilizada en programación, bien el envío del arreglos es básicamente una pequeña modificación en nuestro formulario, lo que haremos ahora es modificar nuestro envío de datos para que lo mande a través de un arreglo y lo imprimamos con el Script PHP. La forma de hacer que una serie de valores se guarden en un arreglo es poniendo en el nombre del formulario el nombre del objeto con los símbolos "[]", entonces cambiaremos todos los nombres de los objetos por "datos[]" y el codigo del formulario se verá así:
Nótese que no cambie el método GET, lo sigo mandando por la URL. Ahora veremos como cambia el Script PHP
Lo primero que notamos es que recibimos con la variable $datos y que esta le dice por medio de GET que tome al objeto datos de la URL, fíjense que no tiene los "[]" de esta manera obtendremos los datos, la impresión del arreglo se da usando los indices, como vemos la posición cero "$datos[0]" contiene el nombre y así sucesivamente, entonces por intuición nos damos cuenta que recibimos los datos de manera ordenada, según nuestro formulario.
Y ahora se preguntaran como hacerlo por POST, simplemente en lugar de poner GET pongan POST la estructura no cambia en nada.
Hay un tercer método llamado REQUEST, este no nos sirve para enviar pero si para recibir, la ventaja que tiene este es que podemos recibir variables enviadas por cualquiera de los 2 métodos anteriores, si por curiosidad cambian el formulario para que envíe por GET y el Script lo dejan Recibiendo por POST verán que no capturarán nada, pero si cambian el método en el script por $_REQUEST verán que aunque manden el formulario por GET o POST este siempre lo recibirá.
Por ultimo cabe señalar que POST es más utilizado para el envío de información sensible, formularios de login o de ese tipo aunque no quiere decir que sea exclusivamente para eso, la principal diferencia es que POST permite el envío de mucha más información que GET.
Bueno así finalizamos este tutorial de envío de variables utilizando POST y GET, así como el envío y recepción de Arreglos.
Si tienen alguna duda no olviden dirigirla a los foros de BLUEForte.
Ver Ejemplos:
Ver Ejemplo de Envio por GET
Ver Ejemplo de Envio por POST
Ver Ejemplo de Envio de Arreglos por GET
Ver Ejemplo de Envio de Arreglos por POST
Descargar:
Descargar Archivos de los Ejemplos
¿Te ha gustado este artÃculo? Subscribete vÃa Email, para ¡recibirlos en tu correo!
TENGO UN FORMULARIO QUE ENVIA VARIABLES POR POST ME FUNCIONA BIEN PERO EN OTRA VERSION DEL XAMPP SE VE TODO BIEN PERO NO EJECUTA EL SCRIPT AL PRESIONAR EL BOTON NO SALE NI UN ERROR AL PARECER NO DECTECTA LAS VARIABLES
Usando
necesito alguien urgente!!!! que pueda ayudarme por favor!!!
lo que quiero hacer es sumar unos datos de una celda del formulario… por ejemplo….
CELDAa
_____3_______(que aqui sume cuantas a tengo en la celda)
_____1_______(que aqui sume cuantas b tengo en la celda)
_____2_______(que aqui sume cuantas c tengo en la celda)
estoy utilizando PHP!!!
y por mas sencillo que se mire no puedo!!!!
porfavor!!! necesito ayuda@!!!
alguien puede darme su correo???
si me reponde por favor! gracias
Usando
tengo el siguiente codigo html que llama al php para cargar valores del formulario a la bd:
1
Nuevo Trabajo de Gado
Ingresar Nuevo Trabajo de Gado
Cota
Autor
Tema
Tutor
y el siguiente codigo php:
Introducir nuevos trabajos de grado en el sistema
<?php
if (!$cota || !$autor || !$tema || !$tutor)
{
echo “No has introducido los datos requeridos.”
.”Por Favor Vuelve a Intentarlo Nuevamente.”;
exit;
}
$cota=doubleval ($cota);
$autor=addslashes ($autor);
$tema=addslashes ($tema);
$tutor=addslashes ($tutor);
@ $db=mysql_pconnet(”localhost”, “root”, “”
;
if (!$db)
{
echo “ERROR”;
exit;
}
mysql_select_db(”comision”
;
”;
$query = “INSERT INTO tesis VALUES (’”.$cota.”‘, ‘”.$autor.”‘, ‘”.$tema.”‘, ‘”.$tutor.”‘
$result = mysql_query($query);
if ($result)
echo mysql_affected_rows().”Trabajo Introducido en la Bases de Datos.”;
?>
****el problema es que me bota el mensaje que le coloque al php que no e introducido los datos necesarios que estare haiendo mal que alguien me ayude pues soy nuevo en esto…
Usando
hola yo deseo saber como llamr una pagina una vez llenado un formulario y mandando un mensaje que todo salio correcto
Usando
Buen dia, una consulta… si deseo mediante un “FORM ACTION”, ir a un formulario, previa validacion de passsw (contraseña), pero si es errada la contraseña hacer un AUTOLLAMADO (utilizando el form action) y regresar a la pagina donde intentara otra vez logearse….Gracias…..como hago???
Usando
Cuando verifiquen problemas para pasar via GET o POST lean lo siguiente:
register_globals
La directiva register_globals especifica si las variables EGPCS (Entorno, GET, POST, Cookies y Servidor) se registran autom
Usando