Problema de redirecionamento - redirect

62 views
Skip to first unread message

Ramaniks

unread,
Sep 17, 2012, 10:11:50 PM9/17/12
to kohan...@googlegroups.com
Olá PessoAll,

Sei que parece esquisito, mas não é a primeira vez e não sei como foi resolvido na vez anterior. Simplesmente voltou.
Tenho a seguinte chamada:
$this->request->redirect("account/login");
Já mudei para
Request::current()->redirect('account/login');

Meu request.php esta assim a função redirect:
public function redirect($url = '', $code = 302)
{
$referrer = $this->uri();
$protocol = ($this->secure()) ? 'https' : TRUE;

                //Aqui chega somente "/:1";
echo $referrer.":".$protocol;
if (strpos($referrer, '://') === FALSE)
{
$referrer = URL::site($referrer, $protocol, ! empty(Kohana::$index_file));
}

if (strpos($url, '://') === FALSE)
{
// Make the URI into a URL
$url = URL::site($url, TRUE, ! empty(Kohana::$index_file));
}

if (($response = $this->response()) === NULL)
{
$response = $this->create_response();
}

echo $response->status($code)
->headers('Location', $url)
->headers('Referer', $referrer)
->send_headers()
->body();

// Stop execution
exit;
}

E simplesmente minha aplicação parou de funcionar.
Obs: A principio seria a ultima versão do kohana.

Se puderem me auxiliar, agradeço a disposição.

Valdecir

Vitor

unread,
Sep 17, 2012, 10:21:44 PM9/17/12
to kohan...@googlegroups.com
defina "parou de funcionar".
ha possibilidade de cair num loop de redirecionamentos?
da pra ver isso no firebug se vc abrir a aba "Net" e ligar algo tipo "Keep buffer" seila, uma opcao pra nao apagar os dados da aba do firebug a cada page load


--
Vitor de Araujo Simões (Dalai/Snag)
Estudante de Ciências da Computação - USP

"Computation is the art of building solutions
- at the cost of creating more problems"


http://www.varaujo.com.br

Ramaniks

unread,
Sep 17, 2012, 10:39:00 PM9/17/12
to kohan...@googlegroups.com, vi...@vitor.me
Olá Vitor,

O que quero dizer que parou que que chega até esta função e não vai pra frente. 
Não cai em loop de redirecionamento.
Estou pegando final da função de redirect e aparece os seguintes valores.
$code.":".$url.":".$referrer.";";

Acessando o link diretamente, aparece os seguintes erros:
Warning: Cannot modify header information - headers already sent by (output started at /home/appteste/application/bootstrap.php:1) in/home/appteste/application/views/account/login.php on line 2

Warning: Cannot modify header information - headers already sent by (output started at /home/appteste/application/bootstrap.php:1) in/home/appteste/application/views/account/login.php on line 3

Warning: Cannot modify header information - headers already sent by (output started at /home/appteste/application/bootstrap.php:1) in/home/appteste/application/views/account/login.php on line 4

Warning: Cannot modify header information - headers already sent by (output started at /home/appteste/application/bootstrap.php:1) in/home/appteste/application/views/account/login.php on line 5 

Acho que estou fazendo alguma coisa muito feia.

Obrigado pela disposição,

Valdecir

Waldson Patricio

unread,
Sep 17, 2012, 10:40:28 PM9/17/12
to kohan...@googlegroups.com
Voce está dando redirect depois de ter mandando alguma coisa pro navegador (echo, print, html ou até um espaço em branco no arquivo)

2012/9/17 Ramaniks <valdeci...@gmail.com>

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google.
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/kohana-php/-/ap6v_MotKAMJ.

Para postar neste grupo, envie um e-mail para kohan...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para kohana-php+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.

felipe bastos

unread,
Sep 17, 2012, 10:42:50 PM9/17/12
to kohan...@googlegroups.com

Volta pro request::redirect padrao pois ate onde sei ele funciona corretamente. O provavel erro é do programador.

No mais, evite loops de redirecionamento.

Auth/login redirect auth/login .. isso entra em loop em qualquer browser.

Home/index .. GET Auth/login .. redirect home/index .. isso nao entra em loop.

É o que dá pra aconselhar ...

--
Você está recebendo esta mensagem porque se inscreveu no grupo "Kohana Php" dos Grupos do Google.

Ramaniks

unread,
Sep 17, 2012, 11:20:26 PM9/17/12
to kohan...@googlegroups.com
Olá,

Claro que é problema do programador. hehehehe
Mas seguinte, se explicação para-cientifica do caso, vou ter que dormir com essa.
A solução do problema a principio foi o seguinte:
- Alterei a codificação de alguns arquivos de UTF-8 para UTF-8 sem BOOOOMMM (Bem que eu suspeitava que iria explodir.)
- Magicamente voltou a funfar.
Será que codificação faz tanto assim? E os arquivos que estão somente com ANSI, tenho que mudar para este BOOM?

Agradeço a disposição de todos,

Valdecir

felipe bastos

unread,
Sep 17, 2012, 11:24:46 PM9/17/12
to kohan...@googlegroups.com
tava no cel, nem vi o andamento da discussão.. foi malz.

é sempre bom colocar as views e demais arquivos que imprimem (echo/print) como UTF-8 sem BOM.

No mais, devia ter algum trecho que vc imprime e tenta alterar o header. Algum echo ou var_dump perdido .. pra teste :D .. assim que deletou, voltou a funcionar :D


Para ver esta discussão na web, acesse https://groups.google.com/d/msg/kohana-php/-/kty-6Je4J04J.

Para postar neste grupo, envie um e-mail para kohan...@googlegroups.com.
Para cancelar a inscrição nesse grupo, envie um e-mail para kohana-php+...@googlegroups.com.
Para obter mais opções, visite esse grupo em http://groups.google.com/group/kohana-php?hl=pt-BR.

Waldson Patricio

unread,
Sep 17, 2012, 11:25:03 PM9/17/12
to kohan...@googlegroups.com
Pode ser utf-8 sem BOM... esse BOM é um byte que fica no começo do arquivo.
Assim que o arquivo é executado esse byte é enviado para o cliente e os headers não podem ser mais modificados. O redirect é enviado no header ("Location: <destino>") por isso o erro ocorre (Cannot modify header information - headers already sent by (output started at)

2012/9/18 Ramaniks <valdeci...@gmail.com>
Para ver esta discussão na web, acesse https://groups.google.com/d/msg/kohana-php/-/kty-6Je4J04J.
Reply all
Reply to author
Forward
0 new messages