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

y este error??.... :(

Estas en el tema de y este error??.... :( en el foro de ASP Clásico en Foros del Web. a ver si sabeis a q es debido.. gracias! objeto Response error 'ASP 0156 : 80004005' Los enbezados HTTP ya están escritas en el explorador ...
  #1 (permalink)  
Antiguo 18/12/2002, 06:55
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
y este error??.... :(

a ver si sabeis a q es debido.. gracias!

objeto Response error 'ASP 0156 : 80004005'
Los enbezados HTTP ya están escritas en el explorador cliente. Cualquier cambio en el encabezado HTTP se debe hacer antes de escribir el contenido de la página


el código es el siguiente:

<%
Response.Buffer=true
dim cnn,rst

set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("noticias.mdb"))
sqltext = "SELECT * FROM Noticias"
rst.Open sqltext,cnn,3,3

dim titulo, copete, noticia
titulo = Request.Form("titulo")
copete = Request.Form("copete")
noticia = Request.Form("noticia")

if copete = "" or titulo ="" or noticia ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End
end if


rst.AddNew
rst("titulo") = titulo
rst("copete") = copete
rst("noticia") = noticia
rst.update

Response.Write "La noticia se ha ingresado con exito"
%>
__________________
"El Universo simpre quiere que ganemos"
  #2 (permalink)  
Antiguo 18/12/2002, 07:14
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
Te conviene validar del lado cliente siempre q puedas, para acceder menos al server.
En tu caso en la parte HTML pon esto :

<SCRIPT LANGUAGE=VBSCRIPT>
Sub Enviar()
if Trim(document.all.copete.value) = "" or Trim(document.all.titulo.value) ="" or Trim(document.all.noticia.value ="") then
Msgbox "Debe completar todos los datos."
else
document.all.form1.action="grabarnoticia.asp"
document.all.form1.submit
end if
End Sub
</SCRIPT>

El form debe tener name="Form1", sino lo cambias en la sub.
Tambien debes eliminar el action del form, o sino pon ACTION=""
Al button q tengas como submit, para enviar el form, le agregas onclick="Enviar()", el cual ahora en vez de enviar la pagina, primero valida del lado cliente y si esta ok ahi recien lo envia completo.

Espero te sirva. Saludos!
  #3 (permalink)  
Antiguo 18/12/2002, 07:53
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
muchas gracias!!!

Voy a probar ahora mismito
__________________
"El Universo simpre quiere que ganemos"
  #4 (permalink)  
Antiguo 18/12/2002, 08:03
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mercedes
Mensajes: 92
Antigüedad: 23 años, 4 meses
Puntos: 0
Ese era todo el codigo de la pagina?
estas usando en alguna parte "response.redirect(..." ?
  #5 (permalink)  
Antiguo 18/12/2002, 08:15
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
Aqui está completo. No sé salir del problema!!
El archivo se llama agrega_noticia.asp y el formulario es:

<SCRIPT LANGUAGE=VBSCRIPT>
Sub Enviar()
if Trim(document.all.copete.value) = "" or Trim(document.all.titulo.value) ="" or Trim(document.all.noticia.value ="") then
Msgbox "Debe completar todos los datos."
else
document.all.form1.action="agrega_noticia.asp"
document.all.form1.submit
end if
End Sub
</SCRIPT>

<img border="1" src="../archivos/www.gif">
</p>

<p><font face="arial"><b>Rellena el siguiente formulario para insertar Noticias:</b></font>
<form method="POST" action="agrega_noticia.asp">
<p>Titulo:<br>
<input type="text" name="titulo" size="40"></p>
<p>Copete:<br>
<input type="text" name="copete" size="40"></p>
<p>Noticia:<br>
<textarea rows="4" name="noticia" cols="30"></textarea></p>
<p><input type="submit" onclick="Enviar()" value="Crear noticia" name="enviar"></p>
</form>

agrega_noticia.asp
<%
Response.Buffer=true
dim cnn,rst
set cnn = Server.CreateObject("ADODB.Connection")
set rst = Server.CreateObject("ADODB.RecordSet")
cnn.Open("Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & _
Server.MapPath("noticias.mdb"))
sqltext = "SELECT * FROM Noticias"
rst.Open sqltext,cnn,3,3

dim titulo, copete, noticia
titulo = Request.Form("titulo")
copete = Request.Form("copete")
noticia = Request.Form("noticia")

if copete = "" or titulo ="" or noticia ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End
end if

rst.AddNew
rst("titulo") = titulo
rst("copete") = copete
rst("noticia") = noticia
rst.update

Response.Write "La noticia se ha ingresado con exito"
%>




aiiiiiiiiiiiiiii!!!
__________________
"El Universo simpre quiere que ganemos"
  #6 (permalink)  
Antiguo 18/12/2002, 08:42
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mercedes
Mensajes: 92
Antigüedad: 23 años, 4 meses
Puntos: 0
proba quitandole la linea:
Response.Buffer=true
  #7 (permalink)  
Antiguo 18/12/2002, 10:31
Avatar de AlZuwaga
Colaborador
 
Fecha de Ingreso: febrero-2001
Ubicación: 34.517 S, 58.500 O
Mensajes: 14.550
Antigüedad: 24 años, 2 meses
Puntos: 535
Que raro.. no debería dar error de encabezados. No hay nada en tu código que pueda generar ese error. Además, estás seteando el buffer a true.

nontendo ¿?
  #8 (permalink)  
Antiguo 18/12/2002, 11:08
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
El error ese de encabezado lo tira seguramente porque pone el codigo ASP luego de haber mandado ya lineas HTML, como un simple <p>, etc.

Joselete, en ASP pon todo el codigo ASP, entre <% y %> al comienzo de la pagina.asp, luego viene el HTML y otros codigos VBScript si hubiere como en esta justamente.

Seria :

<%
' todo el codigo ASP
%>

<HTML>
<SCRIPT ...>
</SCRIPT>
</HEAD>
</HTML>

<body>
...
</body>

ta'pronto
  #9 (permalink)  
Antiguo 18/12/2002, 11:43
 
Fecha de Ingreso: diciembre-2002
Mensajes: 10
Antigüedad: 22 años, 4 meses
Puntos: 0
saludos, tres cositas para comentar:

en primer lugar, lo de que este todo el asp en el mismo lugar... yo lo mezclo por todos los lados donde necesito (eso si entre sus <% y %> ) y no problemo

en segundo lugar: esto no se si influye pero prueba:
Response.Write("la not...exito") y Response.write(error) (ya te digo que esto por probar...)

en tercer lugar: para q compruebas 2 veces si se han completado todos los campos del form? con hacerlo en enviar() o en agrega_noticia.asp suficiente, no? :)

venga, a ver si encuentras el error y lo comentas, un saludo
  #10 (permalink)  
Antiguo 18/12/2002, 11:55
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
Renzo tenia razón... he eliminado
Response.Buffer=true
y la noticia se ha insertado correctamente

Sois una maravilla!! gracias a vosotros empiezo a entender poco a poco ASP y os agradezco mucho vuestra ayuda

Ánimo y voy a ponerme a ver si consigo mostrar los datos de esta BD (en este caso noticias) en una página ASP...

Podría mostrar esos datos en un formato banner????

Espero vuestra respuesta. GRACIAS!!!
__________________
"El Universo simpre quiere que ganemos"
  #11 (permalink)  
Antiguo 18/12/2002, 11:56
 
Fecha de Ingreso: diciembre-2001
Ubicación: Mercedes
Mensajes: 92
Antigüedad: 23 años, 4 meses
Puntos: 0
El error te lo da siempre ? o solo cuando faltan datos del formulario?
  #12 (permalink)  
Antiguo 18/12/2002, 11:59
 
Fecha de Ingreso: febrero-2002
Ubicación: Mi ASP Bunker
Mensajes: 397
Antigüedad: 23 años, 2 meses
Puntos: 1
si, hay algo q obvie, debes eliminar la validacion ASP, las lineas

if copete = "" or titulo ="" or noticia ="" then
error = "Debe completar todos los datos."
Response.Write error
Response.End
end if

eliminalas !

y en lugar de hacer Response.Write "La noticia se ha ingresado con exito", pon directamente el mensaje en la parte HTML, pej.:

<p>La noticia se ha ingresado con exito</p>

con las ventajas de poder centrarlo, colores, fuentes, etc.
  #13 (permalink)  
Antiguo 18/12/2002, 11:59
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
ya ha funcionado Renzo...

muchisimas gracias por tu interés

De todas formas estoy ahora intentando mostrar esas noticias en un banner.... a ver si lo consigo :-p

No obstante, no te pierdas mucho q seguramente me hareis faltaaaaaaaa.... jejejjjejeje (cosas de novatos)

Salu2!!!
__________________
"El Universo simpre quiere que ganemos"
  #14 (permalink)  
Antiguo 18/12/2002, 12:01
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
pero en ASP no puedo darle formato al txt, nochero???
__________________
"El Universo simpre quiere que ganemos"
  #15 (permalink)  
Antiguo 18/12/2002, 13:14
 
Fecha de Ingreso: diciembre-2002
Mensajes: 10
Antigüedad: 22 años, 4 meses
Puntos: 0
si, p.ej.
response.write("<style>la noticia esta ok</style>")
o
respose.write("<p class='mi_Estilo'>la noticia esta ok </p>")
etc...

un saludo
  #16 (permalink)  
Antiguo 14/02/2003, 11:47
Avatar de Joselete  
Fecha de Ingreso: septiembre-2001
Ubicación: Granada, España
Mensajes: 263
Antigüedad: 23 años, 8 meses
Puntos: 0
Gracias Math!!!
__________________
"El Universo simpre quiere que ganemos"
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 04:29.