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

Problema con libro de visitas

Estas en el tema de Problema con libro de visitas en el foro de ASP Clásico en Foros del Web. Hola que tal. Tengo un pequeño problema con un libro de visitas en el cual cuenta con un campo para poner la url de tu ...
  #1 (permalink)  
Antiguo 03/05/2006, 23:27
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Problema con libro de visitas

Hola que tal.
Tengo un pequeño problema con un libro de visitas en el cual cuenta con un campo para poner la url de tu web, cuando se escribe una funciona bien pero si no se escribe nada me da error:
Código:
Microsoft OLE DB Provider for ODBC Drivers error '80004005' 

[Microsoft][Controlador ODBC Microsoft Access]Error en fila 

/instinto/firmar.asp, línea 76
esta es firmar.asp:
Código:
<head>
<style> 
body { 
scrollbar-face-color:#000000;
	scrollbar-arrow-color:white;
	scrollbar-track-color:#666666;
	scrollbar-shadow-color:'';
	scrollbar-highlight-color:'';
	scrollbar-3dlight-color:'';
	scrollbar-darkshadow-Color:''; } 
</style> 
</head>
<body background="fondos/starsbac.jpg" bgProperties="fixed"
bgcolor="#000000" text="#800000" font="Copperplate Gothic Bold" link="#333333" vlink="#FCE043"
alink="#0000FF" topmargin="0" leftmargin="0" marginwidth="0"
marginheight="0">

<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

if request.form("nombre") = "" or request.form("comentarios")="" then%>
<div align="center">
<center>

<table border="0" width="85%">
<tr>
<td width="100%">
&nbsp;
<table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF">Los campos "Nombre" y "Comentario" son obligatorios</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><a href="javascript:window.history.back()"><font color="#FCE043">Intentalo de nuevo</font></a>
</td>
</tr>
</table>
</center>

<% else
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\instinto\BD\librovisitas.mdb"))


set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset 
rs.LockType = adLockOptimistic 

rs.open "visitas",conn
rs.addnew
rs("nombre")=request.form("nombre")
rs("mail")=request.form("mail")
rs("web")=request.form("web")
if web="http://" then 
web = "" 
end if 
rs("pais")=request.form("pais")
rs("opinion")=request.form("opinion")
rs("como")=request.form("como")
rs("ip")=request.servervariables("REMOTE_ADDR")
rs("fecha")=now()
comentarios=replace(request.form("comentarios"),chr(10),"<br>")
rs("comentarios")=comentarios
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
response.redirect "libro.asp?insertado=si"
end if %>
Desde ya muchas gracias.
Saludos
  #2 (permalink)  
Antiguo 04/05/2006, 01:19
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 18 años, 7 meses
Puntos: 1
No sé si entendí bien (¿Por qué no marcas en negrita la línea del error? ) Pero quizá te valga esto:
Código:
if web="" then 
rs("web")=""
end if
De esta manera, si en web no meten nada irá un blanco a la BD (asumo que el campo web en la BD es un string, de lo contrario dará error)
  #3 (permalink)  
Antiguo 04/05/2006, 20:22
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
teóricamente el error está acá pero no se cual es (en negrita) y un poco mas arriba de eso tambien habia puesto eso que tu me dijiste pero igual

esta es firmar.asp:
Código:
<head>
<style> 
body { 
scrollbar-face-color:#000000;
	scrollbar-arrow-color:white;
	scrollbar-track-color:#666666;
	scrollbar-shadow-color:'';
	scrollbar-highlight-color:'';
	scrollbar-3dlight-color:'';
	scrollbar-darkshadow-Color:''; } 
</style> 
</head>
<body background="fondos/starsbac.jpg" bgProperties="fixed"
bgcolor="#000000" text="#800000" font="Copperplate Gothic Bold" link="#333333" vlink="#FCE043"
alink="#0000FF" topmargin="0" leftmargin="0" marginwidth="0"
marginheight="0">

<%
Const adOpenForwardOnly = 0
Const adOpenKeyset = 1
Const adOpenDynamic = 2
Const adOpenStatic = 3
Const adLockReadOnly = 1
Const adLockPessimistic = 2
Const adLockOptimistic = 3
Const adLockBatchOptimistic = 4

if request.form("nombre") = "" or request.form("comentarios")="" then%>
<div align="center">
<center>

<table border="0" width="85%">
<tr>
<td width="100%">
&nbsp;
<table border="10" width="100%" bgcolor="#FF0000" bordercolor="#000000">
<tr>
<td width="100%">
<p align="center"><font color="#FFFFFF">Los campos "Nombre" y "Comentario" son obligatorios</font></td>
</tr>
</table>
</td>
</tr>
<tr>
<td width="100%">
<p align="center"><a href="javascript:window.history.back()"><font color="#FCE043">Intentalo de nuevo</font></a>
</td>
</tr>
</table>
</center>

<% else
Set Conn = Server.CreateObject("ADODB.Connection")
Conn.Open("DRIVER={Microsoft Access Driver (*.mdb)}; DBQ=" & Server.MapPath("\instinto\BD\librovisitas.mdb"))


set rs=createobject("ADODB.Recordset")
rs.CursorType = adOpenKeyset 
rs.LockType = adLockOptimistic 

rs.open "visitas",conn
rs.addnew
rs("nombre")=request.form("nombre")
rs("mail")=request.form("mail")
rs("web")=request.form("web")
if web="http://" then 
web = "" 
end if 
rs("pais")=request.form("pais")
rs("opinion")=request.form("opinion")
rs("como")=request.form("como")
rs("ip")=request.servervariables("REMOTE_ADDR")
rs("fecha")=now()
comentarios=replace(request.form("comentarios"),chr(10),"<br>")
rs("comentarios")=comentarios
rs.update
rs.close
conn.close
set rs=nothing
set conn=nothing
response.redirect "libro.asp?insertado=si"
end if %>
Desde ya muchas gracias.
Saludos[/QUOTE]
  #4 (permalink)  
Antiguo 04/05/2006, 21:07
 
Fecha de Ingreso: diciembre-2003
Ubicación: Caracas
Mensajes: 81
Antigüedad: 20 años, 6 meses
Puntos: 0
De que tamaño es el campo IP, quizas es pequeño y ese es el error, como minimo tiene que tener 15 caracteres XXX.XXX.XXX.XXX.

Revisa eso y si esta bien. entonces revisa que esta devolviendo el REMOTE_ADDR.

Ora cosa que debes revisar la linea de abajo, no recuerdo ahora en que formato regresa los datos NOW() pero revisa que el campo fecha tenga la longitud suficiente para contenerlos.

Revisa eso haber y me avisas que pasa.
  #5 (permalink)  
Antiguo 05/05/2006, 00:25
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Hola que tal.
En realidad el error no tiene nada que ver ni con el ip ni con la fecha, el error que me da es el que está en el primer post y es un error con el campo web que cuando no se lo completa da error pero si se lo completa funciona correctamente.
Marqué con negrita esa parte porque eso es lo que me decía el error, que era en esa linea, por eso puse que teóricamente era eso pero en realidad no se en que linea esta el error.
Muchas gracias por tu respuesta.

Última edición por pablinff; 05/05/2006 a las 00:30
  #6 (permalink)  
Antiguo 05/05/2006, 02:44
Avatar de gorka_arai  
Fecha de Ingreso: octubre-2005
Mensajes: 281
Antigüedad: 18 años, 7 meses
Puntos: 1
Yo ya me perdí... Mira, yo que tu probaría a ir haciendo trazas a ver dónde casca. En vez de almacenar en el recordset los valores, muéstralos por pantalla a ver qué tienes... Si en alguno de ellos no hay nada, antes de capturar su valor usa una condición de tipo if.
Ah, y asegúrate de lo que dijo Edumaca
  #7 (permalink)  
Antiguo 07/05/2006, 13:04
Avatar de pablinff  
Fecha de Ingreso: diciembre-2005
Ubicación: Argentina
Mensajes: 383
Antigüedad: 18 años, 5 meses
Puntos: 7
Ya está ya lo solucioné saqué el campo de web, porque al final no lo necesitaba y se me terminó el problema.
Muchas gracias por su tiempo.
Saludos!!
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 14:24.