Quantcast
Channel: Tópicos
Viewing all articles
Browse latest Browse all 14700

Problema <a href= Vs <form action=

$
0
0
Ora viva, como sou novato aqui vim pedir ajuda.
Já agora se me souberem dizer de bons foruns de PHP em Pt agradecia.

Ora estou a tentar fazer o meu 1º site com login/logout, sessões... e deparei-me com a seguinte situação.
Tenho uma pagina inicial que tem um formulario para user e pass e botão para Entrar ou Sair dependendo se está logado ou não.
Isto é: se não está logado aparece o botão Entrar e se já está logado aparece o botão Sair, recorri a uns IF's e ao estado das
variaveis de sessão.

No botão 'Sair' estou a usar o seguinte codigo:
<form action="logout.php" method="post" ><input type="submit" value="Sair" /></form>

que chama a pagina logout.php que está assim:

<?php
include 'core/init.php';
session_start();
$_SESSION = array();
session_destroy();
session_unset('NOME');
if (empty($_SESSION['NOME'])) {
header("Location: index.php");
exit(); }
?>
Portanto termina a sessão e devolve o curso do programa à pagina inicial(index.php).

O problema surge quando já estou logado e carrego no botão Sair, que deveria então desaparecer sendo substituído pelo botão 'Entrar'
tal como outros menus, que estão na pagina inicial que dependem do estado da sessão.
Ou seja o botão Sair não tem qualquer efeito, mesmo se fizer refresh à pagina incial nada acontece.

Entretanto depois de muito "escavar" deu-me para substituir toda linha de código que tenho acima referente ao form por:

<a href="logout.php" >Sair</a>

e tudo corre na perfeição, ou seja 'Sair' desaparece e é substiuido por 'Entrar' e os menus dependentes de variveis de sessão são substituidos de acordo com o esperado.

Alguem sabe então a que se deve este comportamento diferente entre usar o '<a href=... ' ou o '<form action=...'

desde já o meu obrigado

Viewing all articles
Browse latest Browse all 14700

Trending Articles