viernes, 22 de marzo de 2013

Abrir y cerrar sesión con PHP ( Login / Logout )

El siguiente código se pone cuando se está ingresando en la sesión, que es donde se le pone un nombre a dicha sesión.

session_start();//siempre iniciar sesion

//asignar valores a las variables de sesion
$_SESSION['usuario']= $_POST["Telefono"];
$_SESSION['password']= $_POST["Contrasena"];



Una vez que la sesión ha sido creada, para impedir que usuarios ajenos puedan ingresar a las páginas de la web, se pone el siguiente código al inicio de la página que muestra el contenido:

<?php
session_start();//siempre iniciar sesion antes que todo
//si las variables tienen valores entonces ingresa y mira el contenido
if(isset($_SESSION['usuario']) && isset($_SESSION['password'])){
?>



Y al final de la página se pone de la siguiente manera:

<?php
 } else {
    echo "<center><b>Error de acceso: Necesitas iniciar sesion</b></center>";
   }
?>


Y para cerrar sesión se pone el siguiente enlace para el logout:

<?php
//Enlace para cerrar la sesion
echo('<a href="logout.php">Cerrar Sesion</a><br />');
?>


La página logout.php contendrá lo siguiente:

<?php
//iniciar sesion antes que todo
session_start();

//libera la sesión actual, elimina cualquier dato de la sesión.
session_destroy();

/* liberarán las variables de sesión registradas, quitandoles el valor contenido en ellas
si no se hace esto aunque la pagina sea cerrada siempre conservaran su valor y cualquier
persona podra ingresar a la sesion*/
unset($_SESSION["usuario"]);
unset($_SESSION["password"]);

//libera la sesion
session_unset();

//dirigirse a la pagina que se desea ver
echo "<script>document.location.href='../Login.php';</script>";


//NOTA: ESTE CODIGO NO ELIMINA DATOS DE LAS COOKIES, EN CASO QUE LA PAGINA TENGA COOKIES
?>



Y ESO ES TODO, AHÍ ESTÁ EL LOGIN Y EL LOGOUT EN 5 PEQUEÑOS PASOS

7 comentarios:

  1. muchas gracias super sencillo y concreto :)

    ResponderEliminar
  2. Muchas gracias, me funciono ya que las urls de mi sitio no tienen extension, por lo cual no sabia y no podia bloquearlas en la sesion, voy a estar mas pendiente de sus publicaciones para aplicarlas :)

    ResponderEliminar

Deprecated: mysql_select_db(): The mysql extension is deprecated and will be removed in the future: use mysqli or PDO instead in

¿Les ha sucedido que intentan, hacer un query de conexión y les sale un mensaje de que la extensión que están usando es obsoleta? Les pon...