Hola a todos:
Tengo un pequeño problemilla por el cual no me funciona una página hecha en asp.
Esta página añade un registro a una DB. El problemilla es que aunque el campo de tipo File "imagenproducto" este vacio o lleno nunca me añade el registro. Esto sucede desde que cambie los request.form por request.upload del componente aspuload, puesto que según deduzco de sus instrucciones se llevan bastante mal.
Obviamente si anulo las sentencias de validación del campo "imagenproducto" y la variable "imagenproducto" la pagina funciona perfectamente. Lo que quiero es obligar al usuario a que no deje la fotografia del producto sin subir al servidor.
Les paso el código para ver si le pueden echar un vistazo porque yo no soy capaz de ver el error. Solo paso el código de la página que evalua el formulario puesto que el formulario pienso que no es necesario.
Les resalto en rojo el lugar donde está el problema.
Código:
<%@LANGUAGE="VBSCRIPT" CODEPAGE="1252"%>
<%
response.Expires=0
Response.AddHeader "PRAGMA", "NO-CACHE"
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Administrar Productos</title>
</head>
<!--#INCLUDE file="../../../adovbs.asp"-->
<%
'Aquí se usa la coleccion upload.form debido a que el componente AspUplad no
'se lleva bien con el request.form del ASP
Set Upload = Server.CreateObject("Persits.Upload.1")
'Carpeta donde se subirán los ficheros
Upload.Save(server.mappath("\images\prueba"))
%>
<%'Para conexión a dsn arsys con ACCESS
set Conn= Server.CreateObject("ADODB.Connection")
Conn.ConnectionString = "DSN=clubviajesoferta.com.amancio"
Conn.open
Set RS=Server.CreateObject("ADODB.Recordset")
rs.activeconnection=conn
rs.source="productos"
rs.Locktype = adLockOptimistic
rs.CursorType = adOpenDinamic
rs.open
'Termina aquí la conexion a dsn arsys con ACCESS
%>
<%
'Recupera las variables del formulario
referenciaproducto= Trim(upload.Form("referenciaproducto"))
categoriaproducto= Trim(upload.form("categoriaproducto"))
nombreproducto= Trim(upload.Form("nombreproducto"))
marcaproducto= Trim(upload.form("marcaproducto"))
precioproducto= Trim(upload.Form("precioproducto"))
tallajeproducto= Trim(upload.form("tallajeproducto"))
imagenproducto= Trim(upload.form("imagenproducto"))
descbrevproducto= Trim(upload.form("descbrevproducto"))
descripcionproducto= Trim(upload.form("descripcionproducto"))
temporadaproducto= Trim(upload.form("temporadaproducto"))
estadoproducto= Trim(upload.form("estadoproducto"))
insertar="True"
'Asignamos los valores predeterminados
if referenciaproducto= "" then
response.write("el campo ""referencia"" está vacio <br>")
insertar="False"
end if
if categoriaproducto= "" then
response.write("el campo ""categoría"" está vacio <br>")
insertar="False"
end if
if nombreproducto= "" then
response.write("el campo ""nombre"" está vacio <br>")
insertar="False"
end if
if marcaproducto= "" then
response.write("el campo ""marca"" está vacio <br>")
insertar="False"
end if
if precioproducto= "" then
response.write("el campo ""producto"" está vacio <br>")
insertar="False"
end if
if tallajeproducto= "" then
response.write("el campo ""tallaje"" está vacio <br>")
insertar="False"
end if
if imagenproducto= "" then
response.write("el campo ""imagen"" está vacio <br>")
insertar="False"
end if
if descbrevproducto= "" then
response.write("el campo ""descripción breve"" está vacio <br>")
insertar="False"
end if
if descripcionproducto= "" then
response.write("el campo ""descripción completa"" está vacio <br>")
insertar="False"
end if
if temporadaproducto= "" then
response.write("el campo ""temporada"" está vacio <br>")
insertar="False"
end if
if estadoproducto= "" then
response.write("el campo ""estado"" está vacio <br>")
insertar="False"
end if
'Añadimos el registro
rs.addnew
For each Parametro in upload.Form
'Para ver los nombres de los campos del formulario
'response.write(parametro.name & ", <br>")
'Aquí recogemos el valor del campo del formulario porque las variables solo
'se usan para validar el formulario, debido a que no hay forma de recoger
'los valores que hay en las variables para meterlas en la base de datos
LCase(Parametro.value)
rs(parametro.name)=(parametro.value)
Next
'Este For-Next hace que el fichero se suba al servidor
ruta="../images/"
For Each File in Upload.Files
rs(File.name)=ruta & (File.filename)
'Response.Write File.Name & "= " & File.Path & " (" & File.Size &" bytes)<BR>"
Next
If Insertar then
rs.Update
response.write("El producto se ha añadido correctamente a la base de datos <br>")
else
rs.cancelupdate
response.write("<br>El producto no se ha añadido al a base de datos puesto que el/los campo/s arriba indicados no contienen datos")
End if
rs.close
conn.close
%>
<body>
</body>
</html>
¿Por cierto alguien puede indicarme porque no me funciona la sentencia LCASE?
No da error pero tampoco convierte el nombre de los ficheros a mínusculas.
Gracias a todos de antemano. No se que haría sin su ayuda