Ir para conteúdo

Arquivado

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

Carcleo

problemas com unset

Recommended Posts

Pessoal, boa tarde!

 

Estou com o seguinte código:

 

if (!isset($_SESSION["cliente"]["idCliente"]))   {
echo 10; 
echo "<script>location.href='login.php'</script>";
 
} else if (!isset($_SESSION["carrinho"]))   {
echo 20;
echo "<script>location.href='index.php'</script>";
 
} else if (empty($_SESSION["carrinho"]))   {
echo 30; 
echo "<script>location.href='index.php'</script>";
 
} else {
        echo 40;
unset($_SESSION["carrinho"]);
print "<pre>"; 
//print_r($_POST); 
//print_r($_GET); 
print_r($_SESSION); 
   }  
Ele verifica,
if (!isset($_SESSION["cliente"]["idCliente"]))  OK passa
 if (!isset($_SESSION["carrinho"]))  OK passa
if (empty($_SESSION["carrinho"])) OK passa
imprime 40
Então cai no bloco do else e executa
 unset($_SESSION["carrinho"]);
O problema é depois que executa o
unset($_SESSION["carrinho"]);
, parece que ele volta e entra no primeiro if como se fosse um loop e imprime 20.
Onde esta o problema?
O mais intrigante é que esse 20 só é impresso no código fonte quando fazemos Ctrl+U e também é impresso o
location
. Só não redirecioa.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Na maioria dos navegadores, o CTRL + U recarrega a página somente para exibir o código fonte, por isso você tem um resultado diferente.

 

Somente em dois lugares você conseguirá o "código fonte atual" (pelo menos aonde eu já encontrei). No inspecionar elemento (firebug, chrome, etc...) ou no linux (firefox/iceweasel possuem esse comportamento).

Compartilhar este post


Link para o post
Compartilhar em outros sites

Parece que é isso mesmo.

Pois todas as páginas que não deu esse problema é que um refresh não mudaria o resultado ou não tinha sido disparado nenhum form via post. Mas nessa página em especial deu esse erro,

 

Obrigado!

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.