Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

GGK_Bob

Oque esse codigo faz?

Recommended Posts

Tava pensando em alguma forma de redirecionar o meu site, apos uma ação com sucesso (ex: cadastro) para uma pagina com um texto dizendo o status da operação e tals.... Soh que nao queria usar o include, pq kero que abra outra pagina, e nao inclua uma pagina dentro da outra, e nem keria usar header, pq ele dá erro c jah tiver algum codigo HTML antes.Dai eu peguei um codigo do Dreamweaver, que usa a extension GO TO DETAIL PAGE, e o codigo foi esse:

$insertGoTo = "sucesso.php"; if (isset($_SERVER['QUERY_STRING'])) { $insertGoTo .= (strpos($insertGoTo, '?')) ? "&" : "?"; $insertGoTo .= $_SERVER['QUERY_STRING']; } header(sprintf("Location: %s", $insertGoTo));}

No final das contas, eu vi q ele acaba usando o header, mas eu nao entendi mto bem o codigo... alguem poderia "explicar" ele pra mim?Ou me sugerir algum modo de redirecionar de uma pagina para outra sem usar o header?Grato.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize apenas o header(). O que o código do Dreamweaver faz é analizar se existe alguma query_string para ser enviada junto... nada necessário no seu caso.E não faça do jeito porco <script>window.location='';</script>

Compartilhar este post


Link para o post
Compartilhar em outros sites

e nem keria usar header, pq ele dá erro c jah tiver algum codigo HTML antes

o único jeito que conheço que faça isso é esse jeito "porco", tem outra maneira?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Utilize simplesmente header("Location: %s"). A única coisa que precisa fazer é organizar o seu código e separar o html do php. Deve só colocar a execução do php antes de qualquer saída de conteúdo.

Compartilhar este post


Link para o post
Compartilhar em outros sites

mas no caso dele ele queria um jeito de fazer redirecionar sem ser o Header...e é o unico jeito, pq se ele já fez todo o código assim não tem pq mudar tudo por causa de um simples Header

Compartilhar este post


Link para o post
Compartilhar em outros sites

O motivo para nao usar o Header ele mesmo disse

e nem keria usar header, pq ele dá erro c jah tiver algum codigo HTML antes

Compartilhar este post


Link para o post
Compartilhar em outros sites

o motivo deu nao querer usar o header, é que as vezes, eu coloco um pouco de html junto com o codigo php, pra facilitar coisas como tabelas e etc.O ideal mesmo, seria fazer alguma coisa +- parecida como um link, que simplesmente muda de pagina =D, só que sem o inconveniente de ter que "clicar" em algum link.Obrigado pela ajuda de todos.

Compartilhar este post


Link para o post
Compartilhar em outros sites

você pode fazer isso de duas formas.

 

A primeira é como alguém já falou usando:

 

echo "<script>location.href='sucesso.php';</script>";

Ou então o que você pode fazer caso queira usar header() é usar o ob_start(); antes de toda sua instrução html e depois liberar esse buffer de saída com a função ob_end_flush()

 

Se você não entendeu dê uma lida no PHP.net pq é fácil.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.