Criar Web, manuais e recursos para desenvolvimento web
Manuais
Programas
FAQS
Diretório
Comunidade
  Inicio > FAQ
SEÇÕES
Monotemáticos
+ HTML
+ CSS
+ PHP
+ ASP
+ Javascript
Manuais
+ Desde 0
+ Tecnologia
+ Divulgação de sites
+ Flash
+ Mais manuais
Outras Seções
+ Diretório
+ Buscar em CriarWeb
+ Programas
+ Faqs
+ Colabore
Serviços e comunidade
+ Home comunidade
+ Suas Páginas
+ Boletim
+ Cadastrar-se
+ Gerador de METAs
+ Enquete
+ Livro de visitas

Parceiros
- CSS para Web Design
- S.O.S Designers
- Slackware-Brasil
- Crie seu Web site
- Oficina da Net


Redirecionar em PHP

Tenho um problema ao redirecionar, coloco a instrução na primeira linha, porém quando a coloca em outra linha me dá este erro Warning: Cannot modify header information - headers already sent by (output started at C:\Servidor\web\VBX\inc\valida_session.php:5)

Pelo menos em ASP ou .NET posso redirecionar desde qualquer parte do código tendo por exemplo:

<%



If x = 0 then

Response.redirect(?pag0.asp?)

Elseif x = 1 then

Response.redirect(?pag1.asp?)

Elseif x = 2 then

Response.redirect(?pag2.asp?)

End if



%>


Isto também se pode fazer em PHP???

A FAQ Redirecionar em PHP tem Pertence à categoria:
Resposta de Skunk 27/2/08
Claro que se pode! Porém tenha em conta que a diferença do que está fazendo com ASP, em PHP mediante este método está criando um cabeçalho HTTP que diz ao navegador que redirecione a outro site, com o qual é importante que se execute antes que exista nenhuma saída prévia ao navegador, já seja de texto ou HTML. Do contrário, no momento de tirar algo por tela se está criando um cabeçalho com o tipo de conteúdo utilizado (text/hml, text/plain, etc) e uma vez que se cria um cabeçalho, não se pode modificar.
E é então quando se recebe este erro; que diz que não se pode modificar a informação do cabeçalho, porque já se enviou ao navegador, e ademais lhe diz a linha que se enviou esse cabeçalho. Enfim, espero lhe que sirva para dissipar suas dúvidas.

E bom, a tradução de seu código ASP a PHP seria algo assim:

<?php
if ($x == 0):
header("Location: pag0.asp");
elseif ($x == 1):
header("Location: pag1.asp");
elseif ($x == 2):
header("Location: pag2.asp");
endif;
?>


Dê uma olhada na sintaxe alternativa para as estruturas de controle do manual oficial de PHP, onde encontrará diferentes formas de construí-las, já que certamente há alguma (como o anterior exemplo) que se aproximem mais a VB, ASP e/ou ao que estiver acostumado.

 
FAQ relacionadas
  + Warning PHP por session_start
  + Mostrar array PHP
  + Como tirar os hífens de um texto
  + Como acessar variáveis globais em PHP dentro de uma função?
  + Mostrar data e hora em PHP
  + Ativar delimitador de código PHP <?
  + Problema com apache e PHP 5

Complementar a respostaComplementar a resposta
Voltar à árvore de categoriasVoltar à árvore de categorias


Sobre nós | Copyright | Anuncie | Entrar em contato <criarweb>

Hospedado por Hostnet Hospedagem de Sites