Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: dgg006 en 28 Mayo 2011, 17:35 pm



Título: Como Hacer boton Logout?
Publicado por: dgg006 en 28 Mayo 2011, 17:35 pm
Hola,
Estoy empezando con PHP.
Comencé una pagina de prueba, y para la seguridad utilice PHP_AUTH_USER y PHP_AUTH_PW.
El tema es el siguiente.
Todo perfecto con el logueo, pero no puedo hacer que se cierre "sesión" hasta que no se cierra el navegador.
Me gustaría incluir un boton logout.
Encontre esto:
Código:
<?php
function authenticate() {
    header('WWW-Authenticate: Basic realm="Test Authentication System"');
    header('HTTP/1.0 401 Unauthorized');
    echo "Debes ingresar un login ID y password validos para acceder a este recurso\n";
    exit;
}
 
if (!isset($_SERVER['PHP_AUTH_USER']) ||
    ($_POST['SeenBefore'] == 1 && $_POST['OldAuth'] == $_SERVER['PHP_AUTH_USER'])) {
    authenticate();
} else {
    echo "<p>Bienvenido: " . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "<br />";
    echo "Anterior: " . htmlspecialchars($_REQUEST['OldAuth']);
    echo "<form action='' method='post'>\n";
    echo "<input type='hidden' name='SeenBefore' value='1' />\n";
    echo "<input type='hidden' name='OldAuth' value=\"" . htmlspecialchars($_SERVER['PHP_AUTH_USER']) . "\" />\n";
    echo "<input type='submit' value='Re Authenticate' />\n";
    echo "</form></p>\n";
}
?>
y aunque no hace exactamente un deslogueo, si hace algo parecido, pienso que se puede modificar este código para lograrlo.
Podrán darme una mano con eso?
Cabe aclarar, que no estoy estudiando en ningún lado, estoy tratando de aprender por mis medios, por lo que sean bien explicativos con sus respuestas.
Gracias


Título: Re: Como Hacer boton Logout?
Publicado por: RedZer en 28 Mayo 2011, 17:42 pm
por que no usas variables de session? asi solo destruirias la session al pulsar el boton logout


Título: Re: Como Hacer boton Logout?
Publicado por: Cicklow en 5 Junio 2011, 09:22 am
Hola esto te puede servir. Saludos
Código:
<?php
@session_start();

if($_GET['logout']=="1"){
$_SESSION['login'] = "";
@session_destroy();
}

if($_POST['user']!="" && $_POST['pass']!=""){
$_SESSION['login']=1;
}

if($_SESSION['login']!="1"){
echo '<form action="" method="POST">
User: <input type="text" name="user"><br/>
Pass: <input type="password" name="pass"><br/>
<input type="submit">
</form>';
die();
}

echo '<a href="?logout=1">LogOut</a>';
?>