GGK_Bob 0 Denunciar post Postado Junho 20, 2006 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
augustogava 0 Denunciar post Postado Junho 20, 2006 cara você pode fazer assim:print "<script>window.location='pagina.php';</script>"; Compartilhar este post Link para o post Compartilhar em outros sites
vdepizzol 0 Denunciar post Postado Junho 20, 2006 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
augustogava 0 Denunciar post Postado Junho 20, 2006 e nem keria usar header, pq ele dá erro c jah tiver algum codigo HTML anteso ú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
vdepizzol 0 Denunciar post Postado Junho 20, 2006 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
augustogava 0 Denunciar post Postado Junho 20, 2006 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
vdepizzol 0 Denunciar post Postado Junho 20, 2006 Mas porque ele usaria o GO TO DETAIL PAGE do dw se essa própria função usa header()? Não há motivos para não usar header()... Compartilhar este post Link para o post Compartilhar em outros sites
augustogava 0 Denunciar post Postado Junho 20, 2006 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
GGK_Bob 0 Denunciar post Postado Junho 20, 2006 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
marcusc 0 Denunciar post Postado Junho 20, 2006 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