Portada | Monotemáticos | Secciones | Desarrolladores | Comunidad | Servicios | Servicios profesionales | RSS
Desde 0 | HTML | CSS | ASP | PHP | AJAX | Javascript | Promoción de webs | Rentabilidad de webs
Directorio | Manuales | Scripts | FAQs | Programas | Artículos Copyleft | Actualidad | La Cosecha | Colabora
Registrarse | Vuestras páginas | Foros del web | Lista de correo | Boletín de novedades
Generador METAs | Compras | Busca cursos
Alojamiento | Dominios.es | Micropagos SMS | Buscadores | Patentes, marcas | Creación web | Multimedia | Videos
Desarrollo Freelance | Buscar proyectos | Buscar profesionales | Solicitar desarrollo

Formularios reentrantes en ASP


Cómo crear un formulario en una página que se llama a si misma, concetrando todas las acciones en un mismo código, limpio y fácil de mantener.


23/3/05 - Uno de los trabajos más habituales en la programación de páginas dinámicas del servidor consiste en tratar formularios, para insertar o actualizar informaciones en una base de datos. En este artículo vamos a ver una manera sencilla de realizar, en ASP, las tareas de inserción de los datos de un formulario en una base de datos, concentrando todas las tareas en una misma página, por medio de formularios reentrantes.

Con el concepto de formulario reentrante, me refiero a una página que contiene un formulario, cuyo submit está dirigido hacia la misma página. De modo que esa página sería encargada de mostrar el formulario, recibir los datos, comprobar su validez y, si todo fue correcto, insertar la información en la base de datos. Él resumen de acciones que debe realizar una página es el siguiente:

Compruebo si se reciben datos del formulario
1) Si no recibo datos del formulario, muestro el formulario vacío
2) En caso contrario, compruebo que los datos sean correctos
   2.1) Si no eran correctos, muestro el formulario con los datos que se han recibido.
   2.2) Si eran correctos, inserto los datos en la base de datos


Como se puede comprobar en el esquema anterior, el mismo formulario se puede mostrar en dos ocasiones: Si no se reciben datos por POST, o bien, si los datos recibidos por POST no son válidos. Para facilitar las tareas de mantenimiento de la página y crear un código más claro, vamos a hacer un único formulario, que incluiremos en cualquier punto que se necesite.

El esquema anterior, codificado en ASP, sería el siguiente. Nótese que se incluye el formulario en dos puntos distintos del código. Luego veremos el código del formulario.

<%
'comprobamos si se recibe del formulario
if request.form="" then
    'si no se recibe algo muestro el formulario
    %><!--#include file="formulario.asp"--><%
else
    'es que estamos recibiendo datos del formulario
    'creo una variable para concretar el error
    errores=""
    'valido todo para obtener lista de errores
    if len(request.form("nombre"))<2 then
       errores = errores & "<li>El nombre no es correcto"
    end if
    if len(request.form("telefono"))<9 then
       errores = errores & "<li>El teléfono no es correcto"
    end if

    'compruebo si hubieron errores
    if (errores<>"") then
       'hubo errores en la recogida de datos
       response.write "Errores en el formulario: <ul style='color:red'>" & errores & "</ul>"
       %><!--#include file="formulario.asp"--><%
    else
       'es que todos los datos eran correctos. inserto en la base de datos
       ssql = "insert into cliente (nombre, telefono) values ('" & request.form("nombre") & "', '" & request.form("telefono") & "')"
       'ahora habría que conectar con la base de datos y ejecutar la sentencia
       'Estos temas se explican en otros artículos
    end if
end if
%>


El código está comentado para que se pueda entender más fácilmente. Como vemos se ha seguido el esquema comentado al principio del artículo. Las validaciones se realizan utilizando la función len() de VBScript, que devuelve el número de caracteres que contiene un string.

Código del formulario

Ahora nos centraremos en el formulario. Se trata de un código HTML simple, en el que se ha incluido una manera de memorizar el valor que pudieran tener los campos en anteriores envíos. Esto es porque, cuando se envía el formulario, si hubo errores en los datos, se debe mostrar el error y el formulario con los valores que tuviera anteriormente.

<FORM METHOD="post" ACTION="index.asp" NAME="form03">
<TABLE BORDER="0" CELLSPACING="2" CELLPADDING="2">
<TR>
    <TD>
    Nombre:
    </TD>
    <TD>
    <INPUT TYPE="text" NAME="nombre" VALUE="<%=request.form("nombre")%>">
    </DIV>
    </TD>
</TR>
<TR>
    <TD>
    Teléfono:
    </TD>
    <TD>
    <INPUT TYPE="text" NAME="telefono" VALUE="<%=request.form("telefono")%>">
    </DIV>
    </TD>
</TR>
<TR>
    <TD COLSPAN="2" align=right>
    <INPUT TYPE="submit" VALUE="Insertar">
    </TD>
</TR>
</TABLE>
</FORM>


Para recuperar esos valores, simplemente se define un value para la etiqueta <input>, en el que se coloca lo que haya en el array request.form("nombre_del_campo_a_recuperar").

Espero que estas indicaciones sean de interés, por lo menos para los usuarios menos experimentados.

 Seguir navegando a partir aquí:
+ 1 manual relacionado
+ 1 categoria relacionada
+ 3 comentarios no revisados

 Autoría, licencia y acciones sobre este artículo

Informe de Miguel Angel Alvarez*
Director de DesarrolloWeb.com

Atención: Contenido exclusivo de DesarrolloWeb.com. No reproducir. Copyright.

* Para consultas técnicas utilizar la lista de correo.

Versión imprimible Versión imprimible del artículo
Enviar artículo por e-mail Enviar artículo por e-mail
Añadir un comentario al artículo Publicar un comentario del artículo

Manuales relacionados con este artículo
Dentro de Taller de ASP

Categorias relacionadas
A través de las categorías de nuestro directorio se pueden encontrar otro tipo de recursos relacionados con este artículo:
+ Entrar en Scripts en ASP


 Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos interesantes que se hayan enviado recientemente.
 Se han encontrado 3 comentarios sin revisar

Ver el comentario no revisadoVer los comentarios no revisados
Añadir un comentario al artículo Añadir un comentario del artículo



Enlaces:
Maestrosdelweb
  Ir arriba

Manuales relacionados
+Taller de ASP
Categorías
+Scripts en ASP

Lectura recomendada

Compra este libro en Agapea, la librería urgente a domicilio.

Tienda DesarrolloWeb

DesarrolloWeb.com | Copyright | Anunciese | Acerca de | Datos legales | Contacta | Por GuiarteMultimedia