Boas, Alguém me consegue explicar como posso fazer para redireccionar utilizando a função echo? Por exemplo: Tenho um formulário de contacto em php, no final aparece uma mensagem a confirmar ao utilizador que a foi enviada a questão. Queria que 5 segundos depois, o user fosse redireccionado para o index... []'s
Ou então acho que poderás recorrer a javascript, visto que falas ao fim 5 segundos: PHP: echo "<script type=\"text/javascript\">setTimeout(\"window.location='paginaXPTO.php'\", 5000);</script>";
Código: <?php if (form foi enviado){ sleep(5);//suspende a execução por 5 segundos ?> <script type="text/javascript"> document.location.href ="if.php"; </script> <? } ?>
fil79: isso e um pouco estupido, tens conciencia k o sleep fica a correr do lado do servidor... o browser do cliente n chega a terminar o render da pagina enkanto o server estiver em sleep... ja para n falar k ficas uma ligacao ocupada 5 segundos descenessariamente
do ponto de vista estético não é realmente o mais adequado mas julgo que faz aquilo que foi pedido...
o problema nao e do ponto de vista estetico, e ma programacao do ponto de vista funcional, mais concretamente o impacto que uma implementacao dessas teria no webserver imagina k em vez de 5 segundos ele keria 60, e k tinhas 20 pessoas a fazer um posts consecutivamente. ficavas com 20 ligacoes ao webserver (e mt provavelmente a base de dados) penduradas durante um minuto. nao era preciso mais para ao fim de algum tempo outros clientes comecarem a ter timeouts de ligacao ao server... nao por excesso de carga mas porque o webserver tinha todas as ligacoes ocupadas e estava a fazer sleep isso e uma logica de programacao tipica de uma linguagem de programacao k funcione num PC e nao distribuida. deve-se ter cuidado extra quando se programa em web...