Ir para conteúdo

POWERED BY:

Arquivado

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

Leonardo™

[Resolvido] Sobre o comando exit

Recommended Posts

Olá pessoal estou com uma duvida sobre o comando exit nesse código abaixo. Quero saber se a função dele é somente encerrar o bloco do if ou se serve para mais alguma coisa... Não tenho o costume de colocar essa expressão nos meus scripts e por isso fiquei curioso rsrs... É uma boa pratica de programação ou uma má pratica? Posso omitir esse termo sem problemas?

 

if (!ereg("^([A-Z,a-z,0-9,_,-]){4,}", $variavel)){
  header("Location: link_pagina.php");
  exit;
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Olá pessoal estou com uma duvida sobre o comando exit...

Quero saber se a função dele é somente encerrar o bloco do if ou se serve para mais alguma coisa...

 

A função exit encerra a execução do seu código como um todo, não importa se exista mais alguma instrução logo abaixo ele simplesmente encerrará a execução:

 

echo 'Isso é executado';
exit();
echo 'Isso não';

 

http://br.php.net/ma...nction.exit.php

Compartilhar este post


Link para o post
Compartilhar em outros sites

Não, o IF e terminado quando encontrado o seu }

O exit ali terminará a execução do script.

Isso tem como utilidade impedir que o usuario veja coisas que não deve.

Você pode colocar algo abaixo do exit que não acontecerá nada, pois a execução acabou ali, no momento em que inseriu o exit.

 

Mas ai você pergunta: Mas eu ja estou utilizando o header (location), não vai impedir que ele veja o que estiver abaixo?

R: Depende, se ele utilizar um navegador como o Mozilla, Explorer, Opera dará certo. Mas e se ele utilizar o netcat por exemplo? O header não funcionará e a execução continuará normalmente =D

Por isso e sempre bom deixar o exit ali ;D

Compartilhar este post


Link para o post
Compartilhar em outros sites

Nossa nem sabia essa história do header com o netcat :blink: Vlw a dica! Mais se no caso eu usar um

echo "<META HTTP-EQUIV=REFRESH CONTENT = '0;URL=index.php?page=nome'>";

No netcat isso funciona sem o precisar usar o exit?

Compartilhar este post


Link para o post
Compartilhar em outros sites

Leornardo, essa pergunta demonstra que você não entendeu.

 

exit() é uma função que interrompe a execução do script server-side.

 

não é utilizado somente para esse caso onde é preciso fazer redirecionamento.

 

é utilizado para os casos onde deseja interromper um script.

 

 

 

 

quanto à sua pergunta referente à METATAG HTML, cai na mesma questão de compatibilidade.

 

se porventura o código não for intrepretado pelo cliente, o script seguirá em execução.

 

portanto, por segurança, interrompa o script server side logo após a instrução.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Hinom eu entendi sim, eu escrevi errado nessa parte...

No netcat isso funciona sem precisar usar o exit?

Queria dizer

No netcat isso funciona sem precisar usar o header?

Vlw pela ajuda. Abraço!

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.