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

Problema con mi foro

Estas en el tema de Problema con mi foro en el foro de ASP Clásico en Foros del Web. Hola! Pues nada que ando metiendo un forete por ahi y me da unos errores. Como el código lo he pillao por ahi y todavía ...
  #1 (permalink)  
Antiguo 12/04/2005, 03:53
 
Fecha de Ingreso: marzo-2005
Ubicación: Vitoria
Mensajes: 49
Antigüedad: 19 años, 2 meses
Puntos: 0
Problema con mi foro

Hola! Pues nada que ando metiendo un forete por ahi y me da unos errores. Como el código lo he pillao por ahi y todavía no me aclaro de algunos errores.
por ejemplo: Ver el foro y los mensajes los veo. Pero contestar a un mensaje o introducir uno me casca. Ahi va el código de guardar.asp escribe una respuesta o un nuevo mensaje:
<%
IdMensaje = Request.QueryString("IdMEnsaje")
nombre = Trim(Request.Form("nombre"))
email = Trim(Request.Form("email"))
titulo = Trim(Request.Form("titulo"))
mensaje = Request.Form("mensaje")

If nombre = "" OR email = "" OR mensaje = "" then
Response.Write "<BR><BR>Hay errores en el formulario o faltan datos."
Response.Write "<BR>Presionar Atras y completarlo correctamente"
ElseIf InStr(email, "@") = 0 OR InStr(email,".") = 0 OR Len(email) < 5 then
Response.Write "<BR><BR>Hay errores en el formulario o faltan datos."
Response.Write "<BR>Presionar Atras y completarlo correctamente"
Else

set oConn=Server.CreateObject("ADODB.Connection")
set rs=Server.CreateObject("ADODB.Recordset")
oConn.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source="&Server.MapPath("..\ingenieria.mdb")&";"

'Si es una pregunta nueva...
mensaje = Replace (mensaje, "'", "''")
If IdMensaje = "" then
oConn.Execute "INSERT INTO discusion (nombre, email, titulo, mensaje, fecha) VALUES ('"&nombre&"', '"&email&"', '"&titulo&"', '"&mensaje&"','"& Now()&"')"
'Si es una respuesta a una pregunta...
Else
oConn.Execute "INSERT INTO discusion (nombre, email, titulo, mensaje, fecha, IdCabeza) VALUES ('"&nombre&"', '"&email&"', '"&titulo&"', '"&mensaje&"','"& Now()&"', "&IdMensaje&")"
Set RS_Resp = Server.CreateObject("ADODB.RecordSet")
sql = "SELECT respuestas FROM discusion WHERE IdMensaje="&IdMensaje&""
RS_Resp.Open sql, oConn, 2 ,2
oConn.Execute "UPDATE discusion SET Respuestas=("&RS_Resp("Respuestas")+1&") WHERE IdMensaje="&IdMensaje&" "
RS_Resp.Close
Set RS_Resp = Nothing
End If%>
<BR><BR><B>Gracias <%=nombre%>,<BR>
Fue enviado con éxito el mensaje <FONT COLOR="#B5BBCA"><%= titulo %></FONT> con el texto: </B><BR><BR>
<P><I><%=AcomodarTXT(mensaje)%></I></P><BR><BR>
<A HREF="foro.asp"><B><FONT FACE="Arial" SIZE="2">Volver al Foro de Solo ASP</FONT></B></A>
<%
oConn.Close
Set oConn = nothing
End If

Function AcomodarTXT(txt)
txt = Replace (txt, "<", "&lt;")
txt = Replace (txt, ">", "&gt;")
txt = Replace (txt, vbCrLf, "<BR>")
txt = Replace (txt, "''", "'")
acomodarTXT = txt
End function
%>
el error que me da es :
La operacion debe usar una consulta actualizable en la línea 27 o en la 24 osea cuando hace la insert o la update.
La base de datos esta en access y usuo una tabla llamada discusión y el único campo obligatorio es el idmensaje que es autonumerico.
Un saludo
  #2 (permalink)  
Antiguo 12/04/2005, 07:37
Avatar de akela  
Fecha de Ingreso: septiembre-2000
Ubicación: Frente a la compu
Mensajes: 660
Antigüedad: 23 años, 9 meses
Puntos: 2
EL problema no es del còdigo, el problema es que el directorio (carpeta) donde está tu base de datos no tiene permisos desescritura.

Ojo: dale los permisos de ESCRITURA al DIRECTORIO (carpeta) y tu foro funcionará correctamente.
__________________
Si quieres que las cosas sucédan

provocalas!
  #3 (permalink)  
Antiguo 13/04/2005, 00:25
 
Fecha de Ingreso: marzo-2005
Ubicación: Vitoria
Mensajes: 49
Antigüedad: 19 años, 2 meses
Puntos: 0
Gracias!!

Hey gracias! vaya zoquete que estoy hecho. No me habia dado cuenta, pero aqui pasan cosas raras porque la tabla l ametí en una bd donde ya había insertado artículos desde la web. De todas formas yas ta arreglado. gracias por tu consejo.
  #4 (permalink)  
Antiguo 13/04/2005, 00:47
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
ese alavés de pro!!!! buenos días!!!!
  #5 (permalink)  
Antiguo 13/04/2005, 01:18
 
Fecha de Ingreso: marzo-2005
Ubicación: Vitoria
Mensajes: 49
Antigüedad: 19 años, 2 meses
Puntos: 0
Aupa! Buenos días. Hoy voy a dar guerra
  #6 (permalink)  
Antiguo 13/04/2005, 01:28
Avatar de trasgukabi  
Fecha de Ingreso: septiembre-2004
Mensajes: 2.749
Antigüedad: 19 años, 9 meses
Puntos: 18
dale ltodo lo que quieras, que llevo toda la noche currando y tengo el cerebro fino, jeje
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 01:40.