Cita:
Iniciado por mauriciovargasgarcia Aun que se usa mucho el famoso "logout.php" en este caso (Hablo del codigo posteado) no es necesario implementarlo a menos de que el MVC (Modelo Vista Controlador) de tu App sea complejo, si lo que quieres es enviar a logout.php solo tendrías que hacer el re-direccionamiento con el header() a logout.php, así:
y luego en el archivo logout.php poner:
Pero reitero, si tu App es sencilla y no estas usando un MVC complejo, creo que mi codigo te sería de gran ayuda, saludos!
Hola mauricio que pasa si dentro de tu codigo en el form, tengo que meter esto: <?php echo $data["tucorreo"]; ?>.
Como lo hago ya que dentro de un php no puedo meter otro? Gracias
Cita: <?php
/*
Titulo: Login y Logout en un mismo archivo.
Autor: Mauricio Vargas Garcia / @maurovgarcia
En este caso use GET para indicar si el user dio clic en el enlace de Cerrar Sesion.
A continuacion verifico si eso fue asi:
*/
if (isset($_GET['logout']) == 1) {
session_destroy();
header('Location: index.php');
}
else {// De no haber cerrado sesion.
/*
Instancio las variables que necesito.
*/
$form = '<form action="" method="post">
<label>Introduce tu correo y click en login</label>
<input type="text" name="<?php echo $data["tucorreo"]; ?>" placeholder="Introduce tu correo"/>
<input type="submit" value="Login" />
</form>';
$html = '';//Variable que concatenará las vistas HTML
if (isset($_SESSION['address'])) {//verifico si se ha iniciado una sesion, de ser asi, muestro el enlace de cerrar sesion y un mensaje de bienvenida.
$html.= '<a href="?logout=1">Cerrar sesion</a><h1>Bienvenido '.$_SESSION['address'].'</h1>';
}
else {//No ha iniciado sesion
if (isset($_POST['tucorreo'])) { //Si ingreso el correo en el formulario HTML?.
session_start();//Abro la sesion y muestro el enlace de cerra sesion.
$_SESSION['address'] = $_POST['tucorreo'];
$html.= '<a href="?logout=1">Cerrar sesion</a><h1>Bienvenido '.$_SESSION['address'].'</h1>';
}
else {//De no haber ingresado el correo, muestro el formulario, (Recuerde que $form la instancie arriba).
$html.= $form;
}
}
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<title>Tu App</title>
</head>
<body>
<?php
if (isset($html)) echo $html; //Finalmente imprimo el $html concatenado.
else 'Ha ocurrido un error en la App.';
?>
</body>
</html>