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

Response Redirect


gu_lt

Pergunta

<%

session("usuario_v") = request.form("usuario1")

set cn = server.createobject("adodb.connection")

cn.open "provider = microsoft.jet.oledb.4.0; data source = " & server.mappath("forum.mdb")

sql1 = "insert into cadlogin (usuario,senha,email,site) values ('" & request.form("usuario1") & "', '" & request.form("senha1") & "', '" & request.form("email1") & "', '" & request.form("site1") & "')"

cn.execute sql1

response.redirect("index.asp")

%>

O browser não permite que eu redirecione está página, mas será que alguém sabe alguam função para que isso aconteça???

Obrigado

Gustavo

Link para o comentário
Compartilhar em outros sites

21 respostass a esta questão

Posts Recomendados

  • 0

seu código todo é esse?

se não tiver NENHUM caractere ou espaço escrito já na página, não poderia ocorrer erro.

do contrário, insira no início do seu código isso:

response.buffer = true

q dae você pode fazer o response.redirect de q qlqr parteda página.

tem outro método de se redirecionar, podendendo ser em HTML ou JavaScript.

Dae você dá uma procurada lá nos fóruns respectivos, valeu biggrin.gif

Link para o comentário
Compartilhar em outros sites

  • 0

Bem lembrado DackAle.

Mas, essa função Server.Transfer funciona apenas com o IIS.

Então, se estiver rodando os codigos pelo PWS, no windows 98, não funcionará não..

Para isso, eu uso uma função em javascript.

Eu postei ela no tópico de funções, veja aqui:

http://scriptbrasil.com.br/forum/index.php...indpost&p=87718

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Galera eu testei todas as alternativas q vocês me falaram menos o SERVER.TRANSF, pois uso o PWS e mesmo assim o códigos não está funcionando.

O erro que dá (acho que já devia ter colocado no primeiro post) é o seguinte:

Os cabeçalhos HTTP já estão gravados no navegador cliente. Quaisquer modificações no cabeçalho HTTP devem ser feitas antes de gravar o conteúdo da página.

Bem se puderem me dar um HELP...

valeu

Gustavo

Link para o comentário
Compartilhar em outros sites

  • 0

Apague TODAS AS LINHAS que tiver RESPONSE.REDIRECT

é ela que faz dar o ERRO!

se não der, posta seu codigo aqui

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

dark0, eu tb to com este erro... mas deve haver uma forma de burlar isso, não é possivel que um dos principais comandos de asp, simplismente não pode ser usado eheheheheh ta dando o erro igual ao dele

E ae galera =)

Response object error 'ASP 0156 : 80004005'

Header Error

/daryus.com.br_non_ssl/teste/logar.asp, line 18

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

E o codigo é este

<!--#include file="includes/config.asp"-->
<%
usuario = Replace(request.Form(trim("usuario")),"'","''")
senha = Replace(request.form(trim("senha")),chr(39),"''")

SQL="SELECT * FROM admin WHERE usuario =('" & usuario & "') AND senha=('" & senha & "')"
RS.Open SQL,Conexao,3,3
Set RS=Conexao.Execute(SQL)

session("nivel") = RS("nivel")
session("usuario") = request.form("usuario")

if RS.EOF Then
Session("logado") = false
Response.Redirect("admin_erro.asp")
Else
Session("logado") = true
Response.Redirect("admin.asp")
end if

RS.Close
Set RS = Nothing
%>

Vo tentar por o response.buffer pra ver se adianta, senaum vo ter q por JS mesmo, acho estranho não poder usar o comando redirect...

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

nada a ver victor, erro de cabeçalho acontece por causa do RESPONSE.REDIRECT.

Pode ter certeza disso.

Isso acontecia muito comigo quando eu comecei em asp! Aí, aprendi como burlar isso ae, bem facinho!

Link para o comentário
Compartilhar em outros sites

  • 0

DackAle, deixa seu codigo assim!

<!--#include file="includes/config.asp"-->

<%

usuario = Replace(request.Form(trim("usuario")),"'","''")

senha = Replace(request.form(trim("senha")),chr(39),"''")

SQL="SELECT * FROM admin WHERE usuario =('" & usuario & "') AND senha=('" & senha & "')"

RS.Open SQL,Conexao,3,3

Set RS=Conexao.Execute(SQL)

session("nivel") = RS("nivel")

session("usuario") = request.form("usuario")

if RS.EOF Then

Session("logado") = false

response.write "<script>"

response.write "window.location='admin_erro.asp'"

response.write "</script>"

Else

Session("logado") = true

response.write "<script>"

response.write "window.location='admin.asp'"

response.write "</script>"

end if

RS.Close

Set RS = Nothing

%>

Esse modo de redirecionamento por JAVASCRIPT, eu uso aqui

Aliás, só uso ele, hehe

gu_lt Tenta o que eu falei, ou posta seu codigo aqui

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Opa opa... já vi o erro.

Vou mecher com seu código original, beleza!

Preste atenção logo após que você fez o include, você passou para a linha seguinte, logo deixou um "espaço" em branco... seria o Enter (Chr(10) ou Chr(13))!

Faça assim:

<!--#include file="includes/config.asp"--><%
usuario = Trim(Replace(request.Form("usuario"),"'","''"))
senha = Trim(Replace(request.form("senha"),"'","''"))

SQL="SELECT * FROM admin WHERE usuario = '" & usuario & "' AND senha= '" & senha & "'"
RS.Open SQL,Conexao,1,1
session("nivel") = RS("nivel")
session("usuario") = RS("usuario")

if RS.EOF Then
Session("logado") = false
Response.Redirect("admin_erro.asp")
Else
Session("logado") = true
Response.Redirect("admin.asp")
end if

RS.Close : Set RS = Nothing
%>

Obs.: Percebi alguns códigos sobrando... como um "set rs = "... sobrando e retirei ele...

Também vi que na hora do tratamento dos recebidos pelo formulário estavam incorretos, totalmente, e corrigi eles pra você. Ah, também deixei sua aplicação mais rápida... Presta atenção nele para aprender e procure não errar mais, hehehe, zoeira biggrin.gif

Até +,

Abraços!

Link para o comentário
Compartilhar em outros sites

  • 0

Hum

eu continuo achando, que o problema está no Response.Redirect.

Pois, ele tem um INCLUDE no começo da pagina. Esse include provavelmente escreve algum HTML na pagina.

E o response.Redirect funciona apenas quando nada foi escrito na pagina. E por isso dá erro de cabeçalho.

A Solução? Existem duas:

- Colocar o Include abaixo dos codigos ASP.

- Não usar response.redirect para redirecionar.

Link para o comentário
Compartilhar em outros sites

  • 0

Brother, vai dar erro do mesmo jeito.

Não sei se no IIS dá erro, mas o PWS não permite o uso do response.redirect se já foi escrito algo na pagina. Qualquer codigo html, ou qualquer outra coisa. Ele só permite programação asp, que não retorne nada à tela.

Aqui, na época que eu usava o PWS, usar o response.redirect era sinonimo de limitação no codigo, hehe

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Dark eu usei JS aqui e não deu certo também, o código segue abaixo:

<%

response.buffer = true

session("usuario_v") = request.form("usuario1")

set cn = server.createobject("adodb.connection")

cn.open "provider = microsoft.jet.oledb.4.0; data source = " & server.mappath("forum.mdb")

sql1 = "insert into cadlogin (usuario,senha,email,site) values ('" & request.form("usuario1") & "', '" & request.form("senha1") & "', '" & request.form("email1") & "', '" & request.form("site1") & "')"

cn.execute sql1

Sub redireciona(pagina)

response.write "<script>"

  response.write "window.location='"& index.asp &"'"

response.write "</script>"

End Sub

%>

Eu publiquei o sistema em ASP que esta dando este erro no meu site:http://www.designandmaster.com

é so clicar no lik TESTANDO e depois clicar no link CADASTRAR

valeu

Gustavo

Link para o comentário
Compartilhar em outros sites

  • 0

GU_LT

deixe seu codigo assim:

<%

session("usuario_v") = request.form("usuario1")

set cn = server.createobject("adodb.connection")

cn.open "provider = microsoft.jet.oledb.4.0; data source = " & server.mappath("forum.mdb")

sql1 = "insert into cadlogin (usuario,senha,email,site) values ('" & request.form("usuario1") & "', '" & request.form("senha1") & "', '" & request.form("email1") & "', '" & request.form("site1") & "')"

cn.execute(sql1)

response.write "<script>"

response.write "window.location='index.asp'"

response.write "</script>"

%>

copia esse codigo aqui, e cola lá

abraços

Link para o comentário
Compartilhar em outros sites

  • 0

Nha valeu pelas dicas galera, realmente na config tem HTML, como a config.asp é a primeira coisa pra ler, ele ta descarregando HTML antes do redirect, dai fiz o redirecionamento com o javascript do dark, mas o server.transfer eu utilizo em outros sites, tem algum problema, não é recomendado por exemplo por algum problema ?

Abraços

Link para o comentário
Compartilhar em outros sites

  • 0

O Server.Transfer funciona muito bem.

Eu não conheço nenhum motivo para não usá-lo!

Porém, ele não funciona com o PWS. Apenas com o IIS.

Aí, pensa só.. você está montando um site no seu computador. Seu servidor WEB pra testes é o PWS.

Se você colocar Server.Transfer, seu codigo dá erro. Então, você usa qualquer outro modo de redirecionamento. Mas, como no seu servidor WEB (da internet), o Server.Transfer funciona, você poderia usar ele lá.

Já pensou, quando você rodar no PWS, você usa um redirecionamento. Quando for mandar pro site, você tem que alterar em todas as paginas, pra Server.Transfer. Já pensou?

Hehe

Até mais

Abraços

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,3k
×
×
  • Criar Novo...