Foros del Web » Programando para Internet » PHP »

cerrar sesión y que no muestre pagina al presionar atras

Estas en el tema de cerrar sesión y que no muestre pagina al presionar atras en el foro de PHP en Foros del Web. Hola, saludos, perdon por revivir post.. pero he leido en el foro las 5 paginas de cerrar sesion con php y no pude encontrar una ...
  #1 (permalink)  
Antiguo 26/03/2010, 19:22
 
Fecha de Ingreso: mayo-2009
Mensajes: 44
Antigüedad: 14 años, 11 meses
Puntos: 2
cerrar sesión y que no muestre pagina al presionar atras

Hola, saludos, perdon por revivir post.. pero he leido en el foro las 5 paginas de cerrar sesion con php y no pude encontrar una respuesta

Mi problema es que estoy aburrido que no me cierre la sesion, los usuarios logean a mi sitio, luego cuando cierran la sesion son redireccionados a la pagina del login.

Pero si el usuario hace click en el botón "atras" del navegador, vuelve a mostrar la pagina anterior (es necesario presionar F5 para que aparezca el aviso que debe logear... )

Le dije que lo lee de la cache simplemente esta mostrando una pagina anterior pero mi cliente no se conforma con esa explicacion y desea que a cualquier costo no muestre nada, asi como gmail o hotmail.

alguien me podria tirar un salvavidas?

Muchas Gracias de antemano..
  #2 (permalink)  
Antiguo 26/03/2010, 19:59
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

Estás redireccionando con "header" cuando cierra sesión?
  #3 (permalink)  
Antiguo 26/03/2010, 21:11
 
Fecha de Ingreso: mayo-2009
Mensajes: 44
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

si.. D:

el codigo es algo asi
Código PHP:
session_start();
session_unset();
session_destroy();
header("location:login.php"); 
  #4 (permalink)  
Antiguo 26/03/2010, 21:19
 
Fecha de Ingreso: marzo-2010
Mensajes: 26
Antigüedad: 14 años
Puntos: 0
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

inrtenta no redireccionar con el Header ya que este te mostrara una URL dentro de la otra, me explico te añadira este PHP www.misitiowe.com/index.php?logout=true=index.php/ o similar

lo que podes hacer es redireccionar con el javascript con la funcion
Código Javascript:
Ver original
  1. function redr (){
  2. window.location.href="index.php";
  3. }

o si no dominas el java buscate un script para redireccionar sin Header o hacer que tu usuario se redirija manualmente de la sigiente froma:
Código HTML:
Ver original
  1. <a href="index.php">haz click aqui para salir</a>

espero que te sirva
  #5 (permalink)  
Antiguo 26/03/2010, 21:48
 
Fecha de Ingreso: mayo-2009
Mensajes: 44
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

lo intenté de las 2 formas y aun sigue mostrando la pagina

asi que empiezo a tener mis dudas en cuanto a la validacion de cada pagina, la comprobacion debe ir al inicio de la página?? es que la tengo asi..



----------> ACA DEBERIA IR LA VALIDACION??? <---------------

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title> pagina </title>
<script language="javaScript" src="js/confirmacion.js"></script>
<SCRIPT language=Javascript>
//un script ....
</SCRIPT>
<style>
// algunos estilos..
</style>
<link href="estilo.css" rel="stylesheet" type="text/css" />
<link href="cssmenu/style.css" rel="stylesheet" type="text/css" />
</head>
<body>


<?php

if(isset($_SESSION['rut'])){

muestro

}else{

echo "No ha iniciado sesión";

};

?>


</body>
</html>
  #6 (permalink)  
Antiguo 27/03/2010, 00:19
 
Fecha de Ingreso: febrero-2009
Mensajes: 24
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

Amigo, lo que tienes que hacer es utilizar un flag para ello que te permita verificar que el usuario está logueado o no. Fíjate bien, lo puedes hacer de dos formas:

1. Por sesiones: Creas una sesión llamada "autentificado" cuando el usuario se loguee, le asignas un valor "SI" a dichas sesión, y lo que harás es preguntar, en la primera línea de cada script php que deseas que esté restringido sólo para usuarios autentificados, si dicha sesión tiene el valor "SI"; si no tiene dicho valor, lo envías a la página de login.

2. Por campo de la base de datos: Es parecido al anterior, sólo que lo trabajarás con un campo (adicional) en tu base de datos. Por ejemplo, en la tabla "usuarios", añades un nuevo campo llamado "estado", de manera tal que cuando el usuario se autentifique correctamente, en ese campo, añadas un valor 1, de lo contrario, siempre tendrá cero. Entonces, en la primera línea de cada código php para usuarios realizarás la consulta a la base de datos y preguntarás cuánto vale dicho campo, y el resto ya lo sabes...

Espero haberte ayudado.

Saludos! ;)
  #7 (permalink)  
Antiguo 27/03/2010, 01:23
Avatar de lucasphp  
Fecha de Ingreso: mayo-2009
Ubicación: Misiones
Mensajes: 170
Antigüedad: 14 años, 11 meses
Puntos: 3
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

Creá un archivo "cache.php", agregá esto adentro:
Código PHP:
<?
header
("Expires: Tue, 01 Jul 2001 06:00:00 GMT");
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
header("Cache-Control: no-store, no-cache, must-revalidate");
header("Cache-Control: post-check=0, pre-check=0"false);
header("Pragma: no-cache");
?>
Y hace un include del archivo en el fichero que mencionás. Fijate si sigue pasando, sino no se me ocurre más nada. xD
Saludos.
  #8 (permalink)  
Antiguo 27/03/2010, 11:49
 
Fecha de Ingreso: mayo-2009
Mensajes: 44
Antigüedad: 14 años, 11 meses
Puntos: 2
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

Gracias lucas, lo hice pero ni modo xD el sitio no se quiere actualizar, ni siquiera carga la pag cuando hace el boton atras, tambien probe los metodos de Tenue y lo de crear un campo en la db me parecio muy ingenioso y lo hice xD, lo malo es que el sitio no se hace refresh cuando uno presiona atras asi que no hay caso u.u

Última edición por Takos; 28/03/2010 a las 10:18
  #9 (permalink)  
Antiguo 28/03/2010, 10:56
Avatar de dargor  
Fecha de Ingreso: octubre-2009
Mensajes: 134
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

el metodo de la bandera es bueno, yo utilizo esto:

Código:
<?php
if($_COOKIE["user"]!=""){
    echo '<script type="text/javascript">javascript:window.location="index.php"</script>';
  }
?>
aca abajo mi codigo html 
eso lo pongo en todas las paginas donde no quiero que entren si no han sido logeados con anterioridad. y la respuesta a tu duda de si poner el metodo al principio es SI, es necesario primero verificar si cumple con el requisito, y sino, mejor no mostrar nada.
  #10 (permalink)  
Antiguo 10/06/2013, 10:30
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

Hola Takos perdon por preguntar nose si sea mejor agregar un nuevo tema pero tengo el mismo problema que tenias tu lo lograste resolver???? si puedes ayudar te lo agradeceria
  #11 (permalink)  
Antiguo 06/10/2013, 20:00
 
Fecha de Ingreso: octubre-2013
Mensajes: 1
Antigüedad: 10 años, 6 meses
Puntos: 0
Respuesta: cerrar sesión y que no muestre pagina al presionar atras

Yo lo hice de esta forma y me va muy bien , al dar atrás en el navegador no me vuelve aparecer la pagina

Código PHP:
Ver original
  1. <?php
  2. if(empty($_SESSION["usuario"])){
  3.     echo "<script> document.location.href = \"../login.php\" </script>";
  4.     }
  5. include '../controller/controler.php';

Etiquetas: atras, cerrar, presionar, sesión
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 03:55.