Foros del Web » Programando para Internet » ASP Clásico »

asp subir archivos o foto

Estas en el tema de asp subir archivos o foto en el foro de ASP Clásico en Foros del Web. Hola Adler, Lo he intentando hacer como tu decías, pero aunque ya no da error me dice que no hay resultados. He probado poniendo: @import ...

  #31 (permalink)  
Antiguo 30/12/2008, 08:52
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola Adler,

Lo he intentando hacer como tu decías, pero aunque ya no da error me dice que no hay resultados. He probado poniendo:

Código asp:
Ver original
  1. tmultiple = Remplaza(request.QueryString("tmultiple"),0)
  2. response.Write(tmultiple)
  3. response.end()

Y lo que me muestra está bien, es decir si copio, directamente del Titulo del registro: Director's Cut el response.write me muestra Director's Cut así que no tengo ni idea de donde puede estar el fallo.

Este es el formulario para elegir si busca Intérpretes, Titulo, Director o Todo.

Código asp:
Ver original
  1. <form class="formulario1" action="buscarmultiple.asp?tmultiple=tmultiple" method="get" accept-charset="UTF-8">
  2.  
  3. <label class="invisible" for="tmultiple">B&#250;squeda</label>
  4. <input name="tmultiple" type="text" id="tmultiple" class="c1" size="5" value="Buscar"/>
  5.  
  6. <label for="multiple">
  7. <select class="c2" name="multiple" id="multiple">
  8. <option value="1" selected="selected" id="Interprete">Interprete</option>
  9. <option value="2" id="Director" >Director</option>
  10. <option value="3" id="Titulo" >Titulo</option>
  11. <option value="4" id="Todas">Todas</option>
  12. </select>
  13. </label>
  14.  
  15. <input class="fexplorer" type="submit"  name="button3" id="button3" value="Buscar" />
  16. </form>


Y este es el archivo buscarmultiple.asp, bueno parte de él pero es todo el rato igual:

Código asp:
Ver original
  1. <%    Public Function Remplaza(limpia,caso)    
  2.       Dim cadena
  3.           cadena = trim(limpia)
  4.           Select Case caso
  5.           Case 0:
  6.               cadena = replace(cadena,"'","'")
  7.               cadena = replace(cadena,"¿","&iquest;")
  8.               cadena = replace(cadena,"¡","&iexcl;")
  9.               cadena = replace(cadena,"ñ","&ntilde;")
  10.               cadena = replace(cadena,"Ñ","&Ntilde;")
  11.               cadena = replace(cadena,"á","&aacute;")
  12.               cadena = replace(cadena,"Á","&Aacute;")
  13.               cadena = replace(cadena,"é","&eacute;")
  14.               cadena = replace(cadena,"É","&Eacute;")
  15.               cadena = replace(cadena,"í","&iacute;")
  16.               cadena = replace(cadena,"Í","&Iacute;")
  17.               cadena = replace(cadena,"ó","&oacute;")
  18.               cadena = replace(cadena,"Ó","&Oacute;")
  19.               cadena = replace(cadena,"ú","&uacute;")
  20.               cadena = replace(cadena,"Ú","&Uacute;")
  21.               cadena = replace(cadena,"'","'")
  22.           Case Else
  23.               cadena = limpia
  24.           End Select
  25.           Remplaza = cadena
  26.       End Function
  27. %>
  28.  
  29.  
  30. <%tmultiple = Remplaza(request.QueryString("tmultiple"),0)
  31.   mmultiple= request("multiple")
  32.   Select case mmultiple%>
  33.  
  34. <%  case 1:
  35.   ssql = "Select * from PELICULAS where Interpretes like '%" & tmultiple & "%' ORDER by "  &_
  36.   "Anio,Titulo asc"
  37.   tabla.Open sSQL,conexion,adopenstatic,adcmdtext
  38.  
  39. 'resultados por pagina a elegir arbitrariamente'
  40. num_registros = 10
  41.  session("ssql")=ssql
  42.        %>

En cadena he puesto lo de "& #39" sin espacio aunque por programación se vean iguales.

He echo otra prueba usando el escape con las pelis que tienen en el título Director's cut, buscandolas con director si me salen, y haciendo esto:

Código asp:
Ver original
  1. <% tit = escape(tabla.fields("Titulo"))
  2.                
  3.                 response.Write(tit)%>
  4. %>

Y me saca esto: Clerks%20Director%27s%20cut

He sustituido:

Código asp:
Ver original
  1. cadena = replace(cadena,"'","& #39")

por

Código asp:
Ver original
  1. cadena = replace(cadena,"'","& #27")

Pero sigue sin funcionar.

He hecho otra prueba poniendo en buscarmultiple.asp esto:

Código asp:
Ver original
  1. <% tmultiple = Remplaza(request.QueryString("tmultiple"),0)
  2.  session("multiple") = tmultiple%>

Y en nohayresultados.asp esto:

Código asp:
Ver original
  1. <%              a = session("multiple")
  2.                 b = escape(a)
  3.                 response.write(b)
  4.                 response.End()%>

Con
Código asp:
Ver original
  1. cadena = replace(cadena,"'","& #39")
en buscarmultiple.asp y cuando escribo 's en el buscador me sale esto en pantalla:

%26%2339s


No se porque me escribe eso en vez del %27 que necesito.

Última edición por haga41; 30/12/2008 a las 12:32
  #32 (permalink)  
Antiguo 30/12/2008, 13:46
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola, vamos por partes, ¿quién dijo eso?

Cita:
Iniciado por haga41 Ver Mensaje
Lo he intentando hacer como tu decías, pero aunque ya no da error me dice que no hay resultados. He probado poniendo:

Código asp:
Ver original
  1. tmultiple = Remplaza(request.QueryString("tmultiple"),0)
  2. response.Write(tmultiple)
  3. response.end()

Y lo que me muestra está bien, es decir si copio, directamente del Titulo del registro: Director's Cut el response.write me muestra Director's Cut así que no tengo ni idea de donde puede estar el fallo.
Has de tener en cuenta que en el campo Interprete, Director's Cut, ha de tener reemplazada la comilla simple, es decir ha de estar escrito Director's Cut

Cita:
Iniciado por haga41 Ver Mensaje
Este es el formulario para elegir si busca Intérpretes, Titulo, Director o Todo.

Código asp:
Ver original
  1. <form class="formulario1" action="buscarmultiple.asp?tmultiple=tmultiple" method="get" accept-charset="UTF-8">
Prueba así
<form class="formulario1" action="buscarmultiple.asp" method="get">

Cita:
Iniciado por haga41 Ver Mensaje
Y este es el archivo buscarmultiple.asp, bueno parte de él pero es todo el rato igual:

Código asp:
Ver original
  1. <&#37;    Public Function Remplaza(limpia,caso)    
  2.       Dim cadena
  3.           cadena = trim(limpia)
  4.           Select Case caso
  5.           Case 0:
  6.               cadena = replace(cadena,"'","'")
  7.               cadena = replace(cadena,"¿","&iquest;")
  8.               cadena = replace(cadena,"¡","&iexcl;")
  9.               cadena = replace(cadena,"ñ","&ntilde;")
  10.               cadena = replace(cadena,"Ñ","&Ntilde;")
  11.               cadena = replace(cadena,"á","&aacute;")
  12.               cadena = replace(cadena,"Á","&Aacute;")
  13.               cadena = replace(cadena,"é","&eacute;")
  14.               cadena = replace(cadena,"É","&Eacute;")
  15.               cadena = replace(cadena,"í","&iacute;")
  16.               cadena = replace(cadena,"Í","&Iacute;")
  17.               cadena = replace(cadena,"ó","&oacute;")
  18.               cadena = replace(cadena,"Ó","&Oacute;")
  19.               cadena = replace(cadena,"ú","&uacute;")
  20.               cadena = replace(cadena,"Ú","&Uacute;")
  21.       cadena = replace(cadena,"'","'")    
  22.           Case Else
  23.               cadena = limpia
  24.           End Select
  25.           Remplaza = cadena
  26.       End Function%>
Tienes dos veces la función replace para la comilla simple (al principio y al final)


Cita:
Iniciado por haga41 Ver Mensaje
Código asp:
Ver original
  1. <%tmultiple = Remplaza(request.QueryString("tmultiple"),0)
  2.   mmultiple= request("multiple")
  3.   Select case mmultiple%>  
  4. <% case 1:
  5.   ssql = "Select * from PELICULAS where Interpretes like '%" & tmultiple & "%' ORDER by "  &_
  6.   "Anio,Titulo asc"
  7.   tabla.Open sSQL,conexion,adopenstatic,adcmdtext
  8.  
  9. 'resultados por pagina a elegir arbitrariamente'
  10. num_registros = 10
  11.  session("ssql")=ssql
  12.        %>
Todo es ASP, no es necesario abrir y cerrar tantas veces los scripts

Cita:
Iniciado por haga41 Ver Mensaje
He echo otra prueba usando el escape con las pelis que tienen en el título Director's cut, buscandolas con director si me salen, y haciendo esto:

Código asp:
Ver original
  1. <% tit = escape(tabla.fields("Titulo"))
  2.                
  3.                 response.Write(tit)%>
  4. %>

Y me saca esto: Clerks%20Director%27s%20cut
Claro lo has codificado, haz esto ahora

Response.Write unescape("Clerks%20Director%27s%20cut")

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #33 (permalink)  
Antiguo 30/12/2008, 14:44
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola otra vez,

Hay algo que no he entendido bien, cuando dices:

Cita:
Iniciado por Adler Ver Mensaje
Has de tener en cuenta que en el campo Interprete, Director's Cut, ha de tener reemplazada la comilla simple, es decir ha de estar escrito Director's Cut
¿Te refieres al campo Interprete de mi base de datos de Access o del campo Interprete en el formulario de búsqueda? Tampoco entiendo lo de que tienes que estar reemplezada la comilla simple. Es decir la comilla simple la reemplazo cuando me llega lo que alguien haya escrito en el campo de búsqueda al archivo buscarmultiple.asp pero antes de que llegue ahí no se como reemplazarlo.

Es decir, la gente escribe Director's cut con comilla simple normal, la que está a la derecha de la eñe en el campo tmulyiple del formulario. He puesto al función remplaza en esa web, pero lo que no sea es que como hacer que la función se ejecute directamente en el formulario de búsqueda. Es decir, todas las páginas de mi web tienen este buscador integrado:

Código HTML:
<form class="formulario1" action="buscarmultiple.asp" method="get">

<label class="invisible" for="tmultiple">Búsqueda</label>
<input name="tmultiple" type="text" id="tmultiple" class="c1" size="5" value="Buscar"/>

<label for="multiple">
<select class="c2" name="multiple" id="multiple">
<option value="1" selected="selected" id="Interprete">Interprete</option>
<option value="2" id="Director" >Director</option>
<option value="3" id="Titulo" >Titulo</option>
<option value="4" id="Todas">Todas</option>
</select>
</label>

<input class="fexplorer" type="submit"  name="button3" id="button3" value="Buscar" />
</form> 
Si escribes cualquier cosa sin tildes funciona bien y te lleva a buscarmultiple.asp, por ejemplo si pones: Director en el campo Titulo te lleva a la página:

http://localhost/videoclub/buscarmul...button3=Buscar

Este es el código de buscarmultiple.asp después de las modificaciones:

Código asp:
Ver original
  1. <&#37; tmultiple = Remplaza(request.QueryString("tmultiple"),0)
  2.  session("multiple") = tmultiple
  3.   mmultiple= request("multiple")
  4.   Select case mmultiple
  5.  
  6.   case 1:
  7.   ssql = "Select * from PELICULAS where Interpretes like '%" & tmultiple & "%' ORDER by "  &_
  8.   "Anio,Titulo asc"
  9.   tabla.Open sSQL,conexion,adopenstatic,adcmdtext
  10.  
  11. 'resultados por pagina a elegir arbitrariamente'
  12. num_registros = 10
  13.  session("ssql")=ssql%>

Si pones director's te lleva nohayresultados.asp.

La función remplazar va en todas las páginas:
Código asp:
Ver original
  1. <%    Public Function Remplaza(limpia,caso)    
  2.       Dim cadena
  3.           cadena = trim(limpia)
  4.           Select Case caso
  5.           Case 0:
  6.               cadena = replace(cadena,"¿","&iquest;")
  7.               cadena = replace(cadena,"¡","&iexcl;")
  8.               cadena = replace(cadena,"ñ","&ntilde;")
  9.               cadena = replace(cadena,"Ñ","&Ntilde;")
  10.               cadena = replace(cadena,"á","&aacute;")
  11.               cadena = replace(cadena,"Á","&Aacute;")
  12.               cadena = replace(cadena,"é","&eacute;")
  13.               cadena = replace(cadena,"É","&Eacute;")
  14.               cadena = replace(cadena,"í","&iacute;")
  15.               cadena = replace(cadena,"Í","&Iacute;")
  16.               cadena = replace(cadena,"ó","&oacute;")
  17.               cadena = replace(cadena,"Ó","&Oacute;")
  18.               cadena = replace(cadena,"ú","&uacute;")
  19.               cadena = replace(cadena,"Ú","&Uacute;")
  20.            cadena = replace(cadena,"'","&#39")
  21.           Case Else
  22.               cadena = limpia
  23.           End Select
  24.           Remplaza = cadena
  25.       End Function
  26. %>
  #34 (permalink)  
Antiguo 30/12/2008, 15:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola

Cambia la consulta a

Código asp:
Ver original
  1. Select * from PELICULAS where Interpretes like '" & tmultiple & "%' ORDER by

Cita:
Iniciado por haga41 Ver Mensaje
¿Te refieres al campo Interprete de mi base de datos de Access o del campo Interprete en el formulario de búsqueda?
Me refiero al campo de la bd. Si finalmente decides no todos aquellos registros que contengan apostrofe entonces, cuando recibas el valor desde form, no uses la función, por que no es practica

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #35 (permalink)  
Antiguo 30/12/2008, 16:14
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola,

He cambiado la SQL pero sigue sin ir bien, supongo que es porque no entiendo como tengo que ponerlo en la base de datos, se que me has dicho que lo cambie pero he probado a poner los registros de algunas películas con apostrófe (Director's) que creo que es como ya estaba, otras con acento (Director´s) y otras sustituyendo directamente por el valor de la función remplaza (Director&#39s) y ninguno de las 3 registros me los detecta buscandolo con apóstrofe (Director's).

Ya siento no entenderlo bien.
  #36 (permalink)  
Antiguo 31/12/2008, 07:59
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola

Veamos has esto

Cita:
' Valor que se recibe del form (Director's cut)
tmultiple = Replace(Request.QueryString("tmultiple"), "'", "&#39")

' Sentencia
ssql = "Select * from PELICULAS where Interpretes like '" & tmultiple & "%' ORDER by " &

' Como esta escrito el valor en el campo Interpretes de bd
Director&#39s cut
Una vez que hayas probado esto y funciones, usa la función, si te es útil, cuando recibas el valor desde el form

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #37 (permalink)  
Antiguo 31/12/2008, 11:46
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola Adler,

He puesto los nombres de los registros como Director's cut en la base de datos de Access y he cambiado también esas 2 líneas que me has puesto en buscarmultiple.asp pero sigue sin funcionar de hecho ahora ni siquiera me busca nada cuando pongo Director a secas o cut a secas, ¿será un problema de como tengo el campo en la base de datos de Access?

Los datos del campo Titulo en la bd de Access 2000 son:

Tipo de datos: texto

Tamaño del campo: 80
Requerido: No
Permitir longitud cero: Sí
Indexado: No
Compresión Unicode: Sí
IME Mode: Sin Controles
Ime Sentence Mode: Nada

El campo Director es exactamente igual pero con un tamñao de campo 150

El campo Interpretes es tipo memo pero el resto de los valores son iguales a los otros 2 campos anteriores.

No tengo ni idea de donde puede estar el fallo la verdad.
De todas formas muchisímas gracias por tener tanta paciencia.

¡¡¡Feliz año nuevo!!!
  #38 (permalink)  
Antiguo 02/01/2009, 06:59
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola

Inserta este script en un archivo con el nombre prueba.asp e insertalo en el mismo directorio en el que está buscarmultiple.asp. Edita la ruta hacia tu bd.

Cita:
<%
control = Request.QueryString("c")
IFcontrol = "" then
%>
<form action="prueba.asp" method="get">
<input name="tmultiple" type="text" id="tmultiple" value="Buscar"/>
<input name="c" type="text" value="1"/>
<input type="submit" name="button3" id="button3" value="Buscar" />
</form>
<%
ELSE
texto = Replace(Request.QueryString("tmultiple"), "'", "&#39")

set conexion=Server.CreateObject("ADODB.Connection")
conexion.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("./XXX.mdb"))
set tabla = Server.CreateObject("ADODB.Recordset")

ssql = "Select * from PELICULAS where Interpretes like '" & tmultiple & "%' ORDER by " &_
"Anio,Titulo asc"
tabla.Open ssql,conexion,adopenstatic,adcmdtext
if not tabla.eof then
Response.write Replace(tabla.fields("Interprete"), "&#39", "'")
else
Response.write "No Existe"
end if

tabla.Close
set tabla=nothing
conexion.Close
set conexion=nothing
END IF
%>
Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #39 (permalink)  
Antiguo 02/01/2009, 09:55
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola Adler,

Gracias por tu paciencia,

He puesto el código que me has dado en un archivo llamado prueba.asp en el mismo directorio que buscarmultiple y que mi base de datos cambiando sólo la ruta de la bd por esta:

Código asp:
Ver original
  1. conexion.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("./pelis.mdb"))

Pero al buscar me da este error:

ADODB.Recordset (0x800A0BB9)
Argumentos incorrectos, fuera del intervalo permitido o en conflicto con otros.
/pelis2/prueba.asp, línea 20

En esta línea:

Código asp:
Ver original
  1. tabla.Open ssql,conexion,adopenstatic,adcmdtext

He intentado poner esa línea antes de esta:

Código asp:
Ver original
  1. ssql = "Select * from PELICULAS where Interpretes like '" & tmultiple & "%' ORDER by " &_
  2. "Anio,Titulo asc"

Pero me sigue dando el mismo error en la línea de tabla.Open...

Última edición por haga41; 02/01/2009 a las 10:08
  #40 (permalink)  
Antiguo 02/01/2009, 13:09
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola, nada de gracias, para esto estamos

Cambia esto

like '" & tmultiple & "%'

por esto

like '" & texto & "%'

Lo copié tal y como tu lo tienes

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #41 (permalink)  
Antiguo 02/01/2009, 18:51
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola de nuevo,

Ya he hecho ese cambio y un par de cosas que me había dejado por declarar y ahora sí funciona, la única duda que tengo es si puedo hacer que me detecte las pelis poniendo sólo Director's o Director's Cut ya que ahora me encuentra las pelis si le pongo el nombre entero, es decir: Clerks Director's cut por ejemplo la encuentra pero si escribo Director's o cut me dice No existe, supongo que será cosa del sql.

Así está el archivo ahora:

Código asp:
Ver original
  1. <%
  2. control = Request.QueryString("c")
  3. IF control = "" then
  4. %>
  5. <form action="prueba.asp" method="get">
  6. <input name="tmultiple" type="text" id="tmultiple" value="Buscar"/>
  7. <input name="c" type="text" value="1"/>
  8. <input type="submit" name="button3" id="button3" value="Buscar" />
  9. </form>
  10. <%
  11. ELSE
  12. texto = Replace(Request.QueryString("tmultiple"), "'", "'")
  13.  
  14. set conexion=Server.CreateObject("ADODB.Connection")
  15. conexion.Open ("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ="&Server.MapPath("pelis.mdb"))
  16. set tabla = Server.CreateObject("ADODB.Recordset")
  17. Const adCmdText = &H0001
  18. Const adOpenStatic = 3
  19.  
  20. 'conexion.open "pelis"'
  21.  
  22.  
  23. ssql = "Select * from PELICULAS where Interpretes like '" & texto & "%' ORDER by " &_
  24. "Anio,Titulo asc"
  25. tabla.Open sSQL,conexion,adOpenStatic,adCmdText
  26.  
  27. if not tabla.eof then
  28. Response.write Replace(tabla.fields("Interpretes"), "'", "'")
  29. else
  30. Response.write "No Existe"
  31. end if
  32.  
  33. tabla.Close
  34. set tabla=nothing
  35. conexion.Close
  36. set conexion=nothing
  37. END IF
  38. %>

Última edición por haga41; 02/01/2009 a las 19:00
  #42 (permalink)  
Antiguo 03/01/2009, 06:32
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola

Copia esto

ssql = "Select * from PELICULAS where Interpretes like '%" & texto & "%' ORDER by " &_

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #43 (permalink)  
Antiguo 08/01/2009, 05:22
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola Adler,

Siento haber tardado tanto en responder pero he estoy bastante enfermo estos últimos días y no he podido hacerlo antes.

Con lo que me pusiste en el último mensaje fucniona perfectamente.

Ahora tengo otras dudas de que estoy haciendo mal en otros archivos que estoy intentando "depurar". Al crear una ficha nueva y editarla, el campo genero he decidido ponerlo con un campo select para que sea obligatoriamente uno de los 6 que tengo.

El tema es que aunque debería de funcionar bien, no va bien y no entiendo porque. También me da problemas al poner como país España ya que si busco películas por país me muestra las 2 películas españolas que meti a mano desde Access y está última no la saca, ya que mediante la funcion remplaza convertimos España en España.

Este es el fichero de editar fichas.

Código asp:
Ver original
  1. <!--#include file="includes/AbrirBd.asp"-->
  2. <%id = request("id")
  3.           sql = "Select * from PELICULAS where id =" & id
  4.    tabla.open sql,conexion%>
  5.    
  6.    
  7.    
  8.    <form action="registrarficha.asp" method="post" enctype="multipart/form-data" name="form1" id="form1" accept-charset="UTF-8">
  9. <table width="500" border="1" align="center" bgcolor="#FFF" valign="top">
  10.           <tr>
  11.            <td bgcolor="#489B02" colspan="5" style="color:#FFF">EDITAR PELICULA</td>
  12.           </tr>
  13.          <tr>
  14.           <td bgcolor="#489B02">Titulo</td><td colspan="4" bgcolor="#FFFFFF"><div align="center"><input name="titulo" id="titulo" value="<%=tabla.fields("Titulo")%>" type="text" size="58" /></div></td>          
  15.          </tr>
  16.          <tr>
  17.            <td bgcolor="#489B02">Director</td><td colspan="4" bgcolor="#FFFFFF">
  18.             <div align="center">
  19.              <input name="director" id="director" value="<%=tabla.fields("Director")%>" type="text" size="58" /></div></td>
  20.          </tr>
  21.          <tr>
  22.            <td bgcolor="#489B02">Año</td><td colspan="4" bgcolor="#FFFFFF">
  23.             <div align="center">
  24.               <input name="anio" id="Anio" value="<%=tabla.fields("Anio")%>" type="text" size="58" />
  25.              </div>
  26.            </td>
  27.          </tr>
  28.          <tr>
  29.           <td bgcolor="#489B02">Duración</td><td colspan="4" bgcolor="#FFFFFF"><div align="center"> <input name="min" id="min" value="<%=tabla.fields("Min")%>" type="text" size="58" /></div></td>          </tr>
  30.          <tr>
  31.          <td bgcolor="#489B02">Género</td>
  32.          <td colspan="4" bgcolor="#FFFFFF">
  33.          <!--<div align="center"><input name="genero" id="genero"  type="text" size="58" />-->
  34.          
  35. <% gen = tabla.fields("Genero")
  36. response.Write(tabla.fields("Genero"))
  37.    select case gen
  38.    case 1%>
  39. <select style="display:block;magin-left:auto;margin-right:auto;text-align:center" name="genero" id="genero">
  40. <option value="1" selected="selected" id="1">Acción</option>
  41. <option value="2" id="2" >Animación</option>
  42. <option value="3" id="3" >Ciencia-ficción</option>
  43. <option value="4" id="4">Comedia</option>
  44. <option value="5" id="5">Drama</option>
  45. <option value="6" id="6">Suspense-Terror</option>
  46. </select>
  47. <%case 2%>
  48. <select style="display:block;magin-left:auto;margin-right:auto;text-align:center" name="genero" id="genero">
  49. <option value="1" id="1">Acción</option>
  50. <option value="2" selected="selected" id="2" >Animación</option>
  51. <option value="3" id="3" >Ciencia-ficción</option>
  52. <option value="4" id="4">Comedia</option>
  53. <option value="5" id="5">Drama</option>
  54. <option value="6" id="6">Suspense-Terror</option>
  55. </select>
  56. <%case 3%>
  57. <select style="display:block;magin-left:auto;margin-right:auto;text-align:center" name="genero" id="genero">
  58. <option value="1" id="1">Acción</option>
  59. <option value="2" id="Director" >Animación</option>
  60. <option value="3" id="Titulo" >Ciencia-ficción</option>
  61. <option value="4" id="Todas">Comedia</option>
  62. <option value="5" id="Todas">Drama</option>
  63. <option value="6" selected="selected" id="Todas">Suspense-Terror</option>
  64. </select>
  65. <%case 4%>
  66. <select style="display:block;magin-left:auto;margin-right:auto;text-align:center" name="genero" id="genero">
  67. <option value="1" id="Interprete">Acción</option>
  68. <option value="2" id="Director" >Animación</option>
  69. <option value="3" selected="selected" id="Titulo" >Ciencia-ficción</option>
  70. <option value="4" id="Todas">Comedia</option>
  71. <option value="5" id="Todas">Drama</option>
  72. <option value="6" id="Todas">Suspense-Terror</option>
  73. </select>
  74. <%case 5%>
  75. <select style="display:block;magin-left:auto;margin-right:auto;text-align:center" name="genero" id="genero">
  76. <option value="1" id="Interprete">Acción</option>
  77. <option value="2" id="Director" >Animación</option>
  78. <option value="3" id="Titulo" >Ciencia-ficción</option>
  79. <option value="4" selected="selected" id="Todas">Comedia</option>
  80. <option value="5" id="Todas">Drama</option>
  81. <option value="6" id="Todas">Suspense-Terror</option>
  82. </select>
  83. <%case 6%>
  84. <select style="display:block;magin-left:auto;margin-right:auto;text-align:center" name="genero" id="genero">
  85. <option value="1" id="Interprete">Acción</option>
  86. <option value="2" id="Director" >Animación</option>
  87. <option value="3" id="Titulo" >Ciencia-ficción</option>
  88. <option value="4" id="Todas">Comedia</option>
  89. <option value="5" selected="selected" id="Todas">Drama</option>
  90. <option value="6" id="Todas">Suspense-Terror</option>
  91. </select>
  92. <%end select%>    
  93.          <!--</div>--></td>          
  94.          </tr>
  95.          <tr>
  96.          <td bgcolor="#489B02">País</td>
  97.          <td colspan="4" bgcolor="#FFFFFF"><div align="center"><input name="pais" id="pais" value="<%=tabla.fields("Pais")%>" type="text" size="58" /></div></td>          
  98.          </tr>
  99.          <tr>
  100.          <td bgcolor="#489B02">Argumento</td>
  101.          <td colspan="4" bgcolor="#FFFFFF"><div align="center">
  102.          <textarea name="argumento" id="argumento" cols="45" rows="6">
  103.          <%=tabla.fields("Argumento")%>
  104.          </textarea>        
  105.          </div></td>          
  106.          </tr>
  107.          <tr>
  108.          <td bgcolor="#489B02">Interprétes</td>
  109.          <td colspan="4" bgcolor="#FFFFFF"><div align="center"><input name="interpretes" id="interpretes" value="<%=tabla.fields("Interpretes")%>" type="text" size="58" /></div></td>          
  110.          </tr>
  111.          <tr>
  112.            <td bgcolor="#489B02">Foto</td><td colspan="4" bgcolor="#FFFFFF"><div align="center"><img src="caratulas/<%=tabla.fields("Foto")%>" /></td>            
  113.            </tr>
  114.            <tr>
  115.            <td bgcolor="#489B02">  
  116.              Foto
  117.            </td>
  118.            <td>  
  119.              <input type="file" name="fichero" id="fichero"  />
  120.            </td>
  121.          </tr>        
  122.         <tr>
  123.            <td bgcolor="#489B02">Miniatura</td><td colspan="4" bgcolor="#FFFFFF"><img src="miniaturas/<%=tabla.fields("Miniatura")%>" /></td>            
  124.            </tr>
  125.            <tr>
  126.            <td bgcolor="#489B02">  
  127.              Miniatura
  128.            </td>
  129.            <td>  
  130.              <input type="file" name="fichero2" id="fichero2"  />
  131.            </td>
  132.          </tr>
  133.         <tr>
  134.  
  135.        
  136.      <td colspan="5" class="centro3">
  137.        <input type="submit" name="button" id="button" value="Enviar" /></td>
  138.        </tr>
  139. <% if session("admin") = "ok" then
  140.  Call cerrar2()
  141.  else
  142.  response.Redirect("admin.asp")
  143.  end if
  144. %>                
  145. </table>
  146. <% session("id") = id %>
  147. <% tabla.close
  148. conexion.close
  149. Set tabla = Nothing
  150. Set conexion = Nothing%>
  151. </form>        
  152. </div>

El de registrarficha.asp lo pongo en el siguiente mensaje porque en este no me entra.
  #44 (permalink)  
Antiguo 08/01/2009, 05:23
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Y este el de registraficha.asp

Código asp:
Ver original
  1. <!--#include file="includes/xelupload.asp"-->
  2. <%    Public Function Remplaza(limpia,caso)    
  3.       Dim cadena
  4.           cadena = trim(limpia)
  5.           Select Case caso
  6.           Case 0:
  7.               cadena = replace(cadena,"'","'")
  8.               cadena = replace(cadena,"¿","&iquest;")
  9.               cadena = replace(cadena,"¡","&iexcl;")
  10.               cadena = replace(cadena,"ñ","&ntilde;")
  11.               cadena = replace(cadena,"Ñ","&Ntilde;")
  12.               cadena = replace(cadena,"á","&aacute;")
  13.               cadena = replace(cadena,"Á","&Aacute;")
  14.               cadena = replace(cadena,"é","&eacute;")
  15.               cadena = replace(cadena,"É","&Eacute;")
  16.               cadena = replace(cadena,"í","&iacute;")
  17.               cadena = replace(cadena,"Í","&Iacute;")
  18.               cadena = replace(cadena,"ó","&oacute;")
  19.               cadena = replace(cadena,"Ó","&Oacute;")
  20.               cadena = replace(cadena,"ú","&uacute;")
  21.               cadena = replace(cadena,"Ú","&Uacute;")
  22.               cadena = replace(cadena,"'","'")
  23.           Case Else
  24.               cadena = limpia
  25.           End Select
  26.           Remplaza = cadena
  27.       End Function
  28. %>
  29.      <%
  30.         id = session("id")
  31.        Dim up, objFich1, objFich2
  32.         set up = new xelUpload
  33.         up.Upload()          
  34.  
  35.       if vartype(up.Ficheros("fichero"))<>0 then
  36.       set objFich1 = up.Ficheros("fichero")
  37.       objFich1.ListFolderContents(Server.MapPath("caratulas/"))
  38.       nombreFoto=objFich1.nombre
  39.       end if
  40.  
  41.       if vartype(up.Ficheros("fichero2"))<>0 then
  42.       set objFich2 = up.Ficheros("fichero2")
  43.       objFich2.ListFolderContents(Server.MapPath("miniaturas/"))
  44.       nombreFoto2=objFich2.nombre
  45.       end if
  46. %>  
  47.        
  48.        <!--#include file="includes/AbrirBD.asp" -->
  49.        <%                          
  50.         titulo = Remplaza(up.form("titulo"),0)     
  51.         director = Remplaza(up.form("director"),0)
  52.         anio = up.form("anio")
  53.         min = up.form("min")
  54.         genero = Remplaza(up.form("genero"),0)
  55.         pais = Remplaza(up.form("pais"),0)
  56.         argumento = Remplaza(up.form("argumento"),0)
  57.         interpretes = Remplaza(up.form("interpretes"),0)
  58.        
  59.         sql= "Select * from PELICULAS where Id =" & id
  60.         tabla.open sql,conexion,1,3
  61.        
  62.         tabla.fields("Titulo") = titulo
  63.         tabla.fields("Director") = director
  64.         tabla.fields("Anio") = anio
  65.         tabla.fields("Min") = min
  66.         tabla.fields("Genero") = genero
  67.         tabla.fields("Pais") = pais
  68.         tabla.fields("Argumento") = argumento
  69.         tabla.fields("Interpretes") = interpretes
  70.        
  71.         if (len(nombreFoto) > 0) then
  72.             tabla.fields("Foto") = nombreFoto
  73.         end if
  74.        
  75.        if (len(nombreFoto2) > 0) then
  76.        tabla.fields("Miniatura") = nombreFoto2
  77.        end if
  78.                
  79.         tabla.update
  80.         tabla.close        
  81.         conexion.close
  82.         set up = nothing
  83.         Set tabla = Nothing
  84.         Set conexion = Nothing    
  85.         %>  
  86.         Ficha actualizada. <a href="Adminfichas.asp">Continuar</a>.
  #45 (permalink)  
Antiguo 08/01/2009, 06:17
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Cita:
Iniciado por haga41 Ver Mensaje
Ahora tengo otras dudas de que estoy haciendo mal en otros archivos que estoy intentando "depurar". Al crear una ficha nueva y editarla, el campo genero he decidido ponerlo con un campo select para que sea obligatoriamente uno de los 6 que tengo.
Yo usaría radio en vez de select. Te ahorras mucho código
Código asp:
Ver original
  1. gen = tabla.fields("Genero")
  2. response.Write(tabla.fields("Genero"))
  3.  
  4. <input type="radio" id="genero" name="genero" value="1"<%if CInt(gen) = "1" then%> checked="checked"<%end if%> />Acción<br />
  5. <input type="radio" id="genero" name="genero" value="2"<%if CInt(gen) = "2" then%> checked="checked"<%end if%> />Animación<br />
  6. <input type="radio" id="genero" name="genero" value="3"<%if CInt(gen) = "3" then%> checked="checked"<%end if%> />Ciencia-ficción<br />
  7. <input type="radio" id="genero" name="genero" value="4"<%if CInt(gen) = "4" then%> checked="checked"<%end if%> />Comedia<br />
  8. <input type="radio" id="genero" name="genero" value="5"<%if CInt(gen) = "5" then%> checked="checked"<%end if%> />Drama<br />
  9. <input type="radio" id="genero" name="genero" value="6"<%if CInt(gen) = "6" then%> checked="checked"<%end if%> />Suspense-Terro

Cita:
Iniciado por haga41 Ver Mensaje
El tema es que aunque debería de funcionar bien, no va bien y no entiendo porque.
¿Qué error te marca? ¿que esperabas que hiciera y no hace?

Cita:
Iniciado por haga41 Ver Mensaje
También me da problemas al poner como país España ya que si busco películas por país me muestra las 2 películas españolas que meti a mano desde Access y está última no la saca, ya que mediante la funcion remplaza convertimos España en España.
En tu bd, España ha de aparecer como Espa &ntilde; a

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #46 (permalink)  
Antiguo 08/01/2009, 11:37
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola,

El problema que tenía era que no cogía bien la opción que seleccionaba y no sabía porque, he probado con radio buttons y lo pilla bien, el problema que tengo ahora y que no me había dado cuenta antes es que las búsquedas sólo me pillan bien los acentos escritos con &acute; es decir si en el buscador pongo una palabra con acento, por ejemplo límite me encuentra las que escribí en su día a mano en la bd como límite, pero para buscar una pelicula que haya generado o editado a través de los archivos de asp, tengo que poner el &acute; o el &tilde cuando por ejemplo lo de Director's escribiendolo tal cual si lo pilla bien.

Es decir la duda que tengo ahora es si tengo pasar todos los acentos de la base de datos a &acute; etc o puedo usar la función que me diste de alguna forma para que me encuentre tanto los registros que creé en su día como los nuevos creados a traves de las páginas asp, es decir que si yo pongo en el buscador: límite me encuentre en la bd tanto límite como l &iacute; mite.

El editar.asp al final lo he dejado así:

Código asp:
Ver original
  1. <&#37; gen = tabla.fields("Genero")
  2. select case gen
  3. case 1 %>
  4.            <input name="genero" type="radio" value="1" checked="checked" />
  5.            Acci&#243;n<br/>
  6.            <label>
  7.            <input type="radio" name="genero" value="2" />
  8.            </label>
  9.            Animaci&#243;n<br/>    
  10.            <label>
  11.            <input type="radio" name="genero" value="3" />
  12.            </label>          
  13.            Suspense-Terror<br/>
  14.            <label>
  15.            <input type="radio" name="genero" value="4" />
  16.            </label>          
  17.            Ciencia-ficci&#243;n<br/>  
  18.            <label>
  19.            <input type="radio" name="genero" value="5" />
  20.            </label>          
  21.            Comedia<br/>
  22.            <label>
  23.            <input type="radio" name="genero" value="6" />
  24.            </label>          
  25.            Drama<br/>
  26. ...

Y ahora tengo problemas con por ejemplo buscarpais.asp si uso esto me encuentra bien las películas que tienen Espa &ntilde; a on Canad &aacute; a en la bd.

Código asp:
Ver original
  1. <%
  2.     pais = request("pais")
  3.     pais = Remplaza(Request.QueryString("pais"),0)
  4.     ssql = "Select * from PELICULAS where Pais like '" &pais& "%' ORDER by Titulo,Anio asc"
  5.     tabla.Open sSQL,conexion,adopenstatic,adcmdtext%>

El problema es el mismo que arriba supongo que sería algo así como una función que dijera si me viene una á o una &aacute; considerar el resultado como bueno.

Última edición por haga41; 08/01/2009 a las 12:22
  #47 (permalink)  
Antiguo 08/01/2009, 13:39
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola

Cita:
Iniciado por haga41 Ver Mensaje
Es decir la duda que tengo ahora es si tengo pasar todos los acentos de la base de datos a &acute; etc o puedo usar la función que me diste de alguna forma para que me encuentre tanto los registros que creé en su día como los nuevos creados a traves de las páginas asp, es decir que si yo pongo en el buscador: límite me encuentre en la bd tanto límite como l &iacute; mite.
Esto es justamente lo que he intentado que hicieras desde el principio, que editaras los registros que tienes acentos, ñs, etc.. con su equivalencia en entidades html.

Si lo haces, seguro que todos los problemas que expones, se solventarán

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #48 (permalink)  
Antiguo 11/01/2009, 17:43
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola Adler,

Te he hecho caso y estoy intentando pasar todos los datos con acentos y eñes a entidades html pero la bd es bastante extensa y me llevará bastante tiempo.

El caso es que subido las últimas versiones de mis páginas para hacer pruebas manteniendo aún la bd antigua que creé directamente en Access y en los 2 servidores que lo he subido no me ha encontrado las películas que tenían Director's en el titulo, ya no me da el error que me daba antes ahora me dice que no hay resultados pero en modo local si me encuentra esos títulos perfectamente, ¿puede fallar la función replace en esos servidores?

Esta es la parte de buscarmultiple.asp que me va bien local y mal en los servidores:

Código asp:
Ver original
  1. <%  tmultiple = Replace(Request.QueryString("tmultiple"), "'", "'")%>

Uno de los servidores me da errores con el favicon, a pesar de que el icono que debe mostrar esta en otra página así que quizás sea problema del servidor no?
  #49 (permalink)  
Antiguo 12/01/2009, 06:29
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Hola

La función no es el problema. El problema de que en el servidor que te diga que no se han encontrando resultados es que, como tú dices, estás trabajando con la bd antigua, mientras que en local has de estar trabajando con la bd editada.

En cuanto al favicon, puede que algunos servidores no reconozcan la extensión .ico, no lo sé. Un poco de lectura quizás ayude

Suerte
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
  #50 (permalink)  
Antiguo 15/01/2009, 07:44
 
Fecha de Ingreso: junio-2008
Mensajes: 145
Antigüedad: 16 años, 10 meses
Puntos: 0
Respuesta: asp subir archivos o foto

Hola Adler,

He tardado bastante en responder porque me han dado bastantes problemas el servidor y la base de datos. Como bien decías el problema no estaba en la función replace pero mi servidor tampoco anda muy bien ya que edite mi bd en modo local usando los archivos asp poniendo los acentos y las eñes como entidades html y cuando sustituí la bd vieja por la que acababa de editar me seguía sin funcionar bien. Así que al final tuve que editar todos los registros de la bd del servidor online usando los archivos de asp y ahora funciona perfectamente.

Gracias por el link del favicon, en principio está todo bien y no funciona pero bueno seguiré intentando cosillas.

Muchísimas gracias a ti y a todos los que me habéis ayudado por vuestra paciencia y ayuda durante todos estos días.

Espero que algun día, ahora mismo estoy intentando aprender JavaScript, Php, Asp y Ajax, consiga aprender lo suficiente de programación para poder ayudarte a ti o cualquiera de estos foros tanto como me habéis ayudado vosotros a mí.
  #51 (permalink)  
Antiguo 15/01/2009, 12:22
Avatar de Adler
Colaborador
 
Fecha de Ingreso: diciembre-2006
Mensajes: 4.671
Antigüedad: 18 años, 3 meses
Puntos: 126
Respuesta: asp subir archivos o foto

Cita:
Iniciado por haga41 Ver Mensaje
Muchísimas gracias a ti y a todos los que me habéis ayudado por vuestra paciencia y ayuda durante todos estos días.

Espero que algun día, ahora mismo estoy intentando aprender JavaScript, Php, Asp y Ajax, consiga aprender lo suficiente de programación para poder ayudarte a ti o cualquiera de estos foros tanto como me habéis ayudado vosotros a mí.
Nada , continua trabajando y esperos verte por aquí ayudando a otros usuarios
__________________
Los formularios se envían/validan con un botón Submit
<input type="submit" value="Enviar" style="background-color:#0B5795; font:bold 10px verdana; color:#FFF;" />
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 22:15.