Esta vez, el problema es de sesiones. Tengo diferentes páginas en la que arriba te salen dos botones (conectarse o registrarse) en caso de que no hayas hecho login y uno de desconectarse en el caso de que sí te hayas identificado.
En mi caso, todo va bien hasta que intentas hacer login. Entonces, puede pasar que la página te identifique o no lo haga (es decir, que te siga mostrando los botones de entrar y registrarse). Lo raro es que, aunque la página no te haya identificado, puede darse el caso de que saltes a otra página y esta sí te identifique sin pasar por otro login (y te muestre el botón de desconectarse).
Y aún más raro: el botón de desconectarse es completamente inútil. Pese a que la página te informa de que la sesión ha sido destruida con éxito, puede ser que te siga identificando.
Para más información, diré que todas las páginas están hechas a partir de la misma estructura, que he escrito previamente.
Todas cuentan con esta cabecera:
Cita:
La página sesion.php es la que identifica si estás conectado o no y te muestra unos botones u otros. Su código es este:<?php include ("sesion.php")?>
<!DOCTYPE html>
<html>
<?php include ("head.php")?>
<body>
<?php include ("header.php")?>
<!DOCTYPE html>
<html>
<?php include ("head.php")?>
<body>
<?php include ("header.php")?>
Cita:
En cuanto al logout inservible, su código es este:<?php session_start();
$toplinks = "";
if (isset($_SESSION['id'])) {
$userid = $_SESSION['id'];
$username = $_SESSION['nick'];
$toplinks = '<span id="textohead">Bienvenido,'. $username.'.</span>
<a href="logout.php"><button id="boto1" > Desconectarse</button></a>';
} else {
$toplinks = '<button id="boto1"><a href="registro.php">Registra\'t</a></button><button id="boto1"><a href="login.php">Entra</a></button>';
}
?>
$toplinks = "";
if (isset($_SESSION['id'])) {
$userid = $_SESSION['id'];
$username = $_SESSION['nick'];
$toplinks = '<span id="textohead">Bienvenido,'. $username.'.</span>
<a href="logout.php"><button id="boto1" > Desconectarse</button></a>';
} else {
$toplinks = '<button id="boto1"><a href="registro.php">Registra\'t</a></button><button id="boto1"><a href="login.php">Entra</a></button>';
}
?>
Cita:
¿Alguna idea de qué es lo que ocurre? Gracias de antemano. <?php
session_start();
session_destroy();
if(!session_is_registered('id')){
$msg = "You are now logged out";
} else {
$msg = "<h2>could not log you out</h2>";
}
?>
<html>
<body>
</body>
</html>
session_start();
session_destroy();
if(!session_is_registered('id')){
$msg = "You are now logged out";
} else {
$msg = "<h2>could not log you out</h2>";
}
?>
<html>
<body>
</body>
</html>