Foros del Web » Programando para Internet » PHP »

[SOLUCIONADO] cerrar sesion unset ( $_SESSION ["carrito"] ); en opera y safari

Estas en el tema de cerrar sesion unset ( $_SESSION ["carrito"] ); en opera y safari en el foro de PHP en Foros del Web. Hola amigos estoy trabajando en la parte de cerrar sesion algo similar al hotmail una vez que cierras sesion y le das regresar en el ...
  #1 (permalink)  
Antiguo 13/06/2013, 16:05
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
cerrar sesion unset ( $_SESSION ["carrito"] ); en opera y safari

Hola amigos estoy trabajando en la parte de cerrar sesion algo similar al hotmail una vez que cierras sesion y le das regresar en el navegador te dice k inicies sesion
ahora ya lo puede lograr en firefox.IE.y Chrome pero no Opera y safari no me funciona mi codigo es el siguiente

ticket.php
Código PHP:
Ver original
  1. <?php
  2. if(isset($_SESSION['carrito'])){
  3. //hace todo lo k kiero y esto me manda a otro archivo php aki mismo tengo el link para cerrar sesion
  4. <a href="recarga.php"><font face="calibri" color="#FFFFFF">CERRAR SESION</font></a>
  5. }
  6. else{
  7.             header("Location: ./buscador.php");
  8.         }


recarga.php

Código PHP:
Ver original
  1. <?
  2. require_once("sesion.class.php");
  3.     $sesion = new sesion();
  4.     $car = $sesion->get("carrito");
  5.     if( $car == false )
  6.     {
  7.             unset ( $_SESSION ["carrito"] );
  8.                     echo "<script>location.href='buscador.php'</script>";
  9.     }
  10.     else
  11.     {
  12.            unset ( $_SESSION ["carrito"] );
  13.         echo "<script>location.href='buscador.php'</script>";
  14.         }
  15.         ?>
  16. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  17. <html>
  18.     <head>
  19.         <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  20.         <meta http-equiv="refresh" content="0;URL=recarga.php" />
  21. <meta http-equiv="Pragma" content="no-cache" />
  22.         <title>GRUPO ROMERO</title>
  23. <link type="image/x-icon" href="images/logoo.png" rel="shortcut icon"/>
  24. <style type="text/css">
  25. html {  background-image: url(images/glowcolor.png); }
  26. </style>
  27.     </head>
  28.     <body onload="javascript:document.envio.submit();">
  29.         <form name="envio" action="buscador.php" method="post">
  30.         </form>
  31.     </body>
  32. </html>

sesion.class.php
Código PHP:
Ver original
  1. <?php
  2. class sesion {
  3.   function __construct(){
  4.      session_start();
  5.   }
  6.   public function set($nombre, $valor) {
  7.      $_SESSION[$nombre] = $valor;
  8.   }
  9.   public function get($nombre) {
  10.      if (isset ($_SESSION[$nombre] )) {
  11.         return $_SESSION[$nombre];
  12.      } else {
  13.          return false;
  14.      }
  15.   }
  16.   public function elimina_variable($nombre) {
  17.            unset($_SESSION[$nombre]);
  18.            unset($_SESSION["carrito"]);
  19.   }
  20.   public function termina_sesion() {
  21.       $_SESSION = array();
  22.       session_destroy();
  23.   }
  24. }
  25. error_reporting(E_ERROR);
  26. ?>

y una vez k estoy en buscador y le doy regresar me muestra los datos k tenia antes pero solo con opera y safari porke con los demas funciona perfecto alguien k me pueda orientar

Última edición por Ilidam; 13/06/2013 a las 16:15
  #2 (permalink)  
Antiguo 14/06/2013, 03:42
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: cerrar sesion unset ( $_SESSION ["carrito"] ); en opera y safari

NO estas llamando a termina_session(), hacer unset de una variable no cierra la session. Consulta la documentación de session_destroy() en el manual. Saludos,
__________________
Fere libenter homines, id quod volunt, credunt.
  #3 (permalink)  
Antiguo 14/06/2013, 08:07
Avatar de Ilidam  
Fecha de Ingreso: julio-2009
Ubicación: Veracruz
Mensajes: 108
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: cerrar sesion unset ( $_SESSION ["carrito"] ); en opera y safari

De hecho con cualkiera de las dos funciones ya sea la elimina_variable o termina_sesion funciona en Mozilla.IE. Chrome y en el opera no ni en safari tambien ya puse la de session_destroy(); en el archivo recarga y aun asi sigue sin funcionar en esos exploradores

Etiquetas: carrito, cerrar, opera, session, unset
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 07:34.