Jump to content
Fórum Script Brasil
  • 0

Header não Está Redirecionando Corretamente


Halfar
 Share

Question

veja o codigo abaixo:

if($Mensagem == "ok"){

echo "retorno aqui" . "<P>";

header ("location: nvcalc.php");

}

codigos

codigos

codigos

header ("location: nvcalc.php");

Se o if for verdadeiro deve retornar para a pagina nvcalc.php sem executar os codigos abaixo. O problema é que o if é verdadeiro (testei o codigo inserindo o echo "retorno aqui" para ver se o if estava sendo lido como verdadeiro, e está correto), mas mesmo assim ele executa os codigos abaixo, e depois retorna para nvcalc.php, quando deveria abortar o programa, ou seja, não executar os codigos abaixo e retornar para nvcalc.php.

O que pode ser isto?

Link to comment
Share on other sites

8 answers to this question

Recommended Posts

  • 0

bem, já vi que o header não é muito confiável mesmo... aquilo que postei é apenas um exemplo do problema que ocorre, o fato é que tenho varios ifs, e dependendo da situação cada if pode determinar que o header volte para outra pagina, sem ler os demais codigos abaixo, o que precisava era de algo parecido com o exit sub exisente no VB, onde voce aborta a aplicacao e volta para onde voce determinar...

mas, valeu...

Link to comment
Share on other sites

  • 0
bem, já vi que o header não é muito confiável mesmo... aquilo que postei é apenas um exemplo do problema que ocorre, o fato é que tenho varios ifs, e dependendo da situação cada if pode determinar que o header volte para outra pagina, sem ler os demais codigos abaixo, o que precisava era de algo parecido com o exit sub exisente no VB, onde voce aborta a aplicacao e volta para onde voce determinar...

mas, valeu...

po.. se é assim usa o break;

dai antes do break poe um link pra ir pra página q você quer e o motivo..]esse break; para a operação...

Link to comment
Share on other sites

  • 0

Você pode resolver este problema utilizando um JavaScript escrito em um echo.

if($Mensagem == "ok")
{
echo "retorno aqui" . "<P>";
echo "<script>window.location.href = \"nvcalc.php\";</script>";
}
else
{
codigos
codigos
codigos

echo "<script>window.location.href = \"nvcalc.php\";</script>";
}

Não é a solução "mais correta", mas funciona bem.

Link to comment
Share on other sites

  • 0

A ideia do break e depois colocar um link para voltar, até poderia ser viável, mas creio que a empresa para quem presto serviço não irá gostar, teria que ser automático mesmo.

Quanto a utilizar JS, nem pensar, este problema todo é justamente porque estou adaptando o codigo para fazer algumas verificações de formulário, porque o JS pode estar desabilitado na máquina do usuário...

mas valeu...

só não entendo porque o header não volta quando a gente coloca uma instrucao para voltar, acho totalmente equivocado ele executar todo o codigo restante após o header... que coisa...

mas valeu a ajuda de todos... obrigado.

Link to comment
Share on other sites

  • 0

É que antes dos headers não pode haver nenhuma saída para o navegador.

Se esta existir, a ação do header será cancelada e o PHP retornará o erro informando que os headers já foram enviados, isso se a configuração de erros do PHP não houver sido alterada.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647k
×
×
  • Create New...