Ir para conteúdo
Fórum Script Brasil
  • 0

Erro Ao Redirecionar (problemas Com Response.redirect?) -- Resolvido


diraol

Pergunta

Galera, depois do sistema efeutar a insercao no BD (ou de passar direto, tanto faz, depende só do nivel de acesso do usuario que adentrou a pagina), o sistema da um

Response.redirect("principal.asp")

So que no Navegador aparece o seguinte erro:

Response object error 'ASP 0156 : 80004005'

Header Error

/org/ae-tool/comentarios.asp, line 54

The HTTP headers are already written to the client browser. Any HTTP header modifications must be made before writing page content.

(a linha 54 é a que eu falei pra voces do response.redirect.)

alguém tem ideia do motivo para isso?

Abracos

Diego

Link para o comentário
Compartilhar em outros sites

10 respostass a esta questão

Posts Recomendados

  • 0

não deu certo não.

Se eu coloco o

<% Response.Buffer = True %>
antes do
<% @ LANGUAGE = VBScript %>

, ele da "HTTP 500 - erro interno do servidor"

Se eu coloco depois disso, e antes de todo o resto do codigo, ele continua dando o mesmo erro de header.

Link para o comentário
Compartilhar em outros sites

  • 0

Achei que a opcao já estava desativada.......

Bem, depois de desativar o erro que apareceu foi o seguinte:

CDO.Message.1 error '80040213'

The transport failed to connect to the server.

/iisHelp/common/500-100.asp, line 41

o que eu acho que tambem não ajuda muito......

Link para o comentário
Compartilhar em outros sites

  • 0

Diego, você está usando CDO pra envio de email, nunca vi essa mensagem mas pelo erro pode ser problema na a conexão com servidor. Se você puder passa o codigo...

Consultei um post com esse mesmo erro, no que dizia que era necessário esta linha:

objCDOSYSCon.Fields("http://schemas.microsoft.com/cdo/configuration/smtpserver") = "smtp.seudominio.com.br"

Veja se te ajuda

Link para o comentário
Compartilhar em outros sites

  • 0

então Andreia, eu não estou usando componente nenhum de email, meu codigo não manda nenhum email. Alias, ate tem um codigo para mandar email, dentro do "seguranca.asp", mas ele esta como comentario apenas, 'e algo que eu ia implantar, mas deixei de lado.

O Codigo da pagina que possivelmente esta dando o erro segue abaixo.

Obrigado pela disposicao em ajudar ... :D

<% @ LANGUAGE = VBScript %>
<!--#include file="seguranca.asp" -->
<!--#include file="cn_2sem-2005.asp" -->
<%  Response.flush
   Dim disc,linhasturma,comentario,wsql,meio
   Session("msg")=""
   linhas_p=request.form("linhas_p")
'   linhas_d=request.form("linhas_d")
   meio=request("meio")
   'verificacao de campos em branco
   if meio="true" and Session("msg") = "" then 
   'meio controla se o usuário acabou de entrar na página
       'Insercao dos comentários no bd
       
      
 'perguntas adicionais
       Set Registros = Server.CreateObject("ADODB.Recordset")
           for disc=1 to linhas_p
               resposta=request.form(trim("are_perg"&disc))
               if resposta <> "n" then
                   wsql="insert into "&Session("area")&"respadic (email,id_pergadic,resposta) values ('"&Session("lgn")&"','"&disc&"','"&resposta&"')"
                   Set Registros=cn.execute(wsql)
               end if
           next

                    
                    'COMENTARIOS DESATIVADOS
                    'COMENTARIOS DESATIVADOS
                    'COMENTARIOS DESATIVADOS
                    'COMENTARIOS DESATIVADOS
                    'COMENTARIOS DESATIVADOS
                    

'           for disc=1 to linhas_d
'               turma=request.form(trim("txt_tur"&disc))
'               comentario=request.form(trim("are_disc"&disc))
'               if turma <> "n" and comentario <> "n" then
'                   wsql="insert into "&Session("area")&"comentaluno (email,id_disciplina,comentario,turma) values ('"&Session("lgn")&"','"&disc&"','"&comentario&"','"&turma&"')"
'                   Set Registros=cn.execute(wsql)
'               end if
'           next
            'Atualização e inserção do campo comentário na tabela questionarios
            If Session("comentario")=0 And Session("nivel")="1" Then
                Session("comentario") = Session("comentario") + 1
                wsql="insert into "&Session("area")&"questionarios set comentario='"&Session("comentario")&"' where email='"&Session("lgn")&"'"
                Set Registros=cn.execute(wsql)
                Set Registros=Nothing
            Else
                Session("comentario") = Session("comentario") + 1
                wsql="update "&Session("area")&"questionarios set comentario='"&Session("comentario")&"' where     email='"&Session("lgn")&"'"
                Set Registros=cn.execute(wsql)
                Set Registros=Nothing
            End If
        Response.Redirect ("principal.asp")
   else
        Response.Redirect ("principal.asp")
   end if
%>

Link para o comentário
Compartilhar em outros sites

  • 0

Diego, você comentou todo o codigo que usa CDO? Pelo que estou lendo, tudo indica esse erro à configuraçao do componente.. ou você não tem registrado na sua maquina ou você não configurou direito...

Se você comentou, veja se sem a parte do CDO funciona.

Ps.: Se eu achar alguma coisa mais util, te falo ;)

Link para o comentário
Compartilhar em outros sites

  • 0

Realmente Andreia, não era nada referente a esta componente, eu retirei todo o codigo de envio de email que eu tinha, e ainda assim o erro persistiu.

E o estranho e que tem uma parte do codigo dessa pagina que funciona, e essa parte é no final do codigo...

'Atualização e inserção do campo comentário na tabela questionarios

If Session("comentario")=0 And Session("nivel")="1" Then

Session("comentario") = Session("comentario") + 1

wsql="insert into "&Session("area")&"questionarios set comentario='"&Session("comentario")&"' where email='"&Session("lgn")&"'"

Set Registros=cn.execute(wsql)

Set Registros=Nothing

Else

Session("comentario") = Session("comentario") + 1

wsql="update "&Session("area")&"questionarios set comentario='"&Session("comentario")&"' where email='"&Session("lgn")&"'"

Set Registros=cn.execute(wsql)

Set Registros=Nothing

End If

Link para o comentário
Compartilhar em outros sites

  • 0

Problema Solucionado.

não tinha achado numa busca preliminar, mas agora vi que tem um monte de coisas iguais aqui no forum.

para quem esta com o mesmo problema, ou para quem não sabe, o Response.Redirect não pode ser utilizado apos o site ter escrito algum tipo de HTML na pagina.

Nesses casos pode-se utilizar 2 saidas alternativas:

---

Server.Transfer "pagina.asp"
- Esta EU acho que é melhor usar em todas as situacoes, a unica restricao 'e que o PWS não aceita ela, mas pensando em WEB, acho muito melhor utiliza-lo, uma vez que as chances de dar erro são infinitamente menores. ---
        response.write "<script>"
        response.write "window.location='principal.asp'"
        response.write "</script>"

Solucao alternativa....

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...