Privacidad: Recuerde que la información escrita en los foros de programación es 100% pública y que su ip será registrada asociada a su mensaje. Si encuentra un mensaje fuera de lugar, por favor, notifiquelo para su revisión y eliminación.
Problemas con FORM, creo...
Enviado por Gigatron el día 8 de julio de 2004
Bueno yo tengo esta pagina, su funcion principalmente deveria ser la de escrivir en un formulario los datos de un producto, seleccionar las imagenes del producto en tu disco duro y al mandar el formulario los datos los procesa la misma pagina, subiendo por un lado el archivo del formulario en el servidor y añadiendo el resto de campos de texto a la base de datos.
El caso es que lo unico que me hace es subir las imagenes al servidor, despues de hacer varias pruevas he llegado a la conclusión de que el formulario no envia los valores de los campos, solo envia los valores del campo file (del archivo). Y creo que es por esto enctype="multipart/form-data"
Estoy muy desesperado, he hecho un monton de cosas pero nada.
Si he de aclarar algo mas sobre el codigo y lo que pretendo, no duden en decirmelo, es muy importante que pueda hacer esto.
Dim uploadsDirVar
uploadsDirVar = Server.mapPath("./")
Function SaveFiles
Dim Upload, ks, resumen
Set Upload = New FreeASPUpload
Upload.Save(uploadsDirVar)
If Err.Number <> 0 then Exit function
ks = Upload.UploadedFiles.keys
if (UBound(ks) = -1) then resumen = "No es un nombre valido en el sistema."
SaveFiles = resumen
Dim oConn2, rs
Set oConn2 = Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn2.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("esto no creo que importe.mdb"))
<html>
<head>
<title>Insertar Productos</title>
<link href="../Estilos/estilo1.css" rel="stylesheet" type="text/css">
</head>
<body class="body">
<table width="100%" height="100%" border="1" align="center" cellpadding="2" cellspacing="0" bordercolor="#999999" bgcolor="#000000">
<tr>
<td align="center" valign="top" class="texto">
<b>Agregar Producto:</b><br>
<p>Agrege los Productos de Z-Bombilla.
<br>Desde esta pagina usted podra ingresar un nuevo producto en la base de datos de Z-Bombilla.</p>
Es cierto que con multipart/form-data no sirve el método Request.
Puedes usar el componente aspsmartupload (http://www.aspsmart.com/) y podrás recoger la información del fichero, en este caso imágen y los demás campos.
Es muy fácil de usar, creo que las instrucciones son muy claras y es gratuito.
Puede que no sea la mejor solución, pero yo lo he solucionado con la creación de una Session.
De todas formas sólo tenia que pasar un único campo, por lo que no creo que cargue en exceso el servidor con una Session de más.
Me explico:
En la página en la que tengo el formulario he hecho
Session(\\\"ubicacion\\\")=carpeta
Dónde \\\"carpeta\\\" es una variable que recoge el valor de un campo del formulario
En la página que recibe los datos he hecho
c=Session(\\\"ubicacion\\\")
Luego con c (variable en la que tengo el valor del campo del formulario) ya puedo hacer lo que quiera.
Si alguien cree que no es una solución adecuada, le rogaría que me lo digera para no tener problemas en un futuro.
El formulario que envias es multipart/form-data con eso le dices al servidor que estas procesando Bytes, lo solucion es sencilla tienes que hacer 2 paginas una primera pagina es la que toma los datos que quieres insertar, una vez que le agregas los datos envias el formulario, la 1 pagina se encarga de procesar los datos y agregar el registro a la base de datos.
Si todo funciona bien, automaticamente pasas a la 2 pagina con un response.redirect "2pagina.asp"
Tomas el ID del registro ingresado
dim strID
strID = Request.QueryString("ID")
y en esta segunda pagina agregas la imagen,
cuando termina de subir la foto o imagen, editas
el registro y le agregas la direccion donde se
encuentra la imagen.
Gaston Nat
gastonmardelplata@gmail.com
solo debes cambiar el encabezado de tu form por:
<%
Id = TUVARIABLE
response.write "<FORM ACTION=""TUPAGINAalaqueenviaslosdatos.asp?elIDquedeseasenviar="%=Id&"" METHOD=""POST"" ENCTYPE=""multipart/form-data"">"%>