- La etiqueta form en su atributo action posee el nombre del archivo php que recibira la información del formulario para almacenarla
- Todas las etiquetas input del formulario tienen su atributo name, esto es de vital importancia porque al recibir los valores, el codigo php creara automaticamente variables con esos nombres, y si no lo posee no podremos usarla.
- Observe que las etiquetas input poseen sus atributos size y maxlength, los cuales deben ser acordes con los tamaños de los campos que representan, primero para dar una idea visual de que tanto puedo escribir y segundo para no escribir información demás, ya que si permito que el usuario se extienda escribiendo, al guardar la información esta no se guardara como el usuaario la puso, sino que se cortara hasta el limite del campo.
El formulario anterior produce este resultado en el navegador
Ahora necesitamos el codigo del archivo php que recibira la información que sea capturada en el formulario, asi que a continuación tenemos el codigo del archivo ingreso.php
Como todo codigo php inicia con la etiqueta de apertura «<?php» y termina con la etiqueta de cierre ?>
Cuando el programa php recibe los datos del formulario estos son guardados en un arreglo asociativo llamado $HTTP_POST_VARS, para los que no sepan, un arreglo asociativo es un arreglo en donde las celdas no son identificadas por un numero como en x[1] sino a traves de un nombre, en el caso de php el arreglo $HTTP_POST_VARS es una rreglo asociativo que contiene en cada celda la información que se capturo en los input del formulario y se usa como identificador el atributo name de cada input.
Observe que en las primeras 4 lineas, lo que hago es pasar la informacion del arreglo $HTTP_POST_VARS a variables, esto para no complicarme a la hora de construir la consulta que mandare a MySQL
A continuación uso la instrucción mysql_connect para establecer conexion con el servidor de base de datos, esta instrucción necesita de 3 parametros:
- El nombre del servidor, en este caso y aun siendo un servidor web en linea el servidor de base de datos se seguira llamando «lcoalhost»,
- El nombre del usuario, para este caso «root», en un servidor en linea se crea un nombre de usuario para cada base de datos, este usuario solo tiene acceso a esa base datos y a ninguna otra por seguridad
- La clave, que en este caso no tiene, porque no lo configuramos en el phpmyadmin.
Ya establecida la conexion con el servidor, ahora debemos indicar que base de datos usaremos, esto es con la instruccion mysql_select_db, en el ejemplo la base de datos se llama «almacenm».
En la linea que sigue creo una variable de tipo cadena llamada $consulta en la que almaceno la consulta en SQL que quiero ejecutar, en este caso una consulta de insercion, observe que la clausula «values» de la consulta coloco las variables en donde almacene los datos del formulario separadas por coma, y en aquellas que representan datos no numericos les agrego el caracter de escape \», esto para agregar las comillas a la consulta.
A diferencia de otros lenguajes en donde colocar el nombre de una variable dentro de una cadena no tiene ningun efecto, en php si lo tiene, ya que al ejecutar esta linea los nombres de las variables son sustituidos por sus valores, por ejemplo:
$nombre=»Ramon»;
$saludo=» Hola, como estas $nombre»;
En las lineas anteriores el resultado seria que la vaariable $saludo, almacena la cadena «Hola, como estas Ramon».
Una vez construida la consulta de inserción, la mandamos a ejecutar con la instrucción mysql_query, el resultado de la consulta se deposita en una variable para que podamos verificar que la consulta tuvo exito.
En el ejemplo, si la consulta tuvo exito se procede a presentar un mensaje con la instrucción «echo» y se manda a crear un enlace que nos regrese a el formulario.
A continuación coloco un enlace para que descarguen los archivos de este ejemplo.
http://www.megaupload.com/?d=UDPA9HN6
La carpeta Ejemplos deben colocarla en la carpeta htdocs de su servidor y la carpeta almacenm que es la base de datos en mysql/data
Dudas y comentarios no duden escribir
muy bien tu codigo …..
Me gustaMe gusta
Gracias por el comentario, pero te invito a que leas los demas codigos de esta categoria ya que en este primer ejemplo quedan muchos vacios en cuanto a seguridad, validación de datos y detalles de interfaz
Me gustaMe gusta