1 º:
Crea un pagina logout.php para limpiar la session y puedas realizar las pruebas correspondientes.
Contenido
logout.php:
Código PHP:
<?php
session_start();
session_unset();
session_destroy();
header('Location: index.php');
?>
2 º:
En la comprobacion del correo (login), llama todos los datos de interes, y agregalos al la variable $_SESSION.
Por ejemplo veo que llamas al nombre apellido y id dos veces. Es mas facil, si en el SELECT incluis todo lo que necesitas y Seteas $_SESSION de la siguiente manera:
Código PHP:
<?php
$_SESSION = $row;
?>
3 º:
Tu codigo:
Cita: <a href="perfil.php?<?=$id?>">Paso variable de sesión por URL</a>
No es necesario enviar por URL el ID, ademas 3 puntos...
a) Seteas el ID por session.
b) Enviar el ID por URL (mas de un usuario) es una mala idea.
c) Estas pasando mal la URL tendria que ser
perfil.php?id=<?php echo $id;?>.
4 º:
Seteas
$_SESSION['correo'] = $correo.
$correo es una variable enviada por el Usuario, nunca validas y para el colmo estas verificando
isset($_SESSION['correo']).
OTRA: si estas en hosting, tenes que verificar si o si, que session_start() sea la linea 1 de cualquier hoja.