Foros del Web » Programando para Internet » PHP »

session_destroy() no cierra la session

Estas en el tema de session_destroy() no cierra la session en el foro de PHP en Foros del Web. Hola gente !! necesito vuestra ayuda. Tengo un script aparte que lo uso para cerrar la sesion de la pagina. Inicio session, pongo las variables ...
  #1 (permalink)  
Antiguo 07/05/2010, 09:03
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
session_destroy() no cierra la session

Hola gente !! necesito vuestra ayuda.
Tengo un script aparte que lo uso para cerrar la sesion de la pagina. Inicio session, pongo las variables de sesion a nul y luego hago el session_destroy(); y redirijo la pagina hacia el inio.php. Todo lo hace bien porque lo he comprobado menos cerrar la session.
Alguien sabria decirme que esta ocurriendo??

Un saludo!!
  #2 (permalink)  
Antiguo 07/05/2010, 09:05
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: session_destroy() no cierra la session

Sin ver lo que haz hecho no te podemos decir

Tu problema debe estar en la línea 23
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #3 (permalink)  
Antiguo 07/05/2010, 09:15
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: session_destroy() no cierra la session

Perdona que linea 23? Si solo tengo 5 lineas de codigo dentro de ese script. Pero esque ni muere la sesion ni parando el pc, ni limpiando todo el historial de navegador....

un saludo!
  #4 (permalink)  
Antiguo 07/05/2010, 09:17
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 15 años
Puntos: 1517
Respuesta: session_destroy() no cierra la session

No, me refiero sin ver lo que haz hecho no te podemos decir.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #5 (permalink)  
Antiguo 07/05/2010, 09:20
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: session_destroy() no cierra la session

index.php
Código PHP:
Ver original
  1. <div id="logear">
  2.                     <div id="login2" class="azul">
  3.                            
  4.                             <?php
  5.                                 if(isset ($_SESSION['user'])){
  6.                                     $fila = rand(1,6);
  7.                                     $columna = rand(1,6);
  8.                             ?>
  9.                             <form method="post" id="formLoginPublic" name="formLoginPublic"
  10.                                   action="../Login/ControlLogin.php?<?php print "fila=".$fila."&columna=".$columna ?>">
  11.                                 <h2>Acceder...</h2>
  12.                             <ul>
  13.                                     <li>
  14.                                             <h3>Login</h3>
  15.                                             <input type="text" id="login2" name='login' size="25" maxlength='25'></input>
  16.                                             <h3>Contraseña</h3>
  17.                                             <input type="password" id="pwd" name='password' size="25" maxlength='25'></input>
  18.                                             <h3>C&oacute;digo <?php echo "Fila ".$fila." Columna ".$columna ?></h3>
  19.                                             <input class="iTexto" type="text" id="codigo" name="codigo" size="25" maxlength="4" />
  20.                                     </li>
  21.                                     <li>
  22.                                             <h3>¿Aún no estás registrado?</h3>
  23.                                             <a class="boton" href="altaSocio.php"><p>Regístrate</p></a>
  24.                                             <input type='submit' value='Aceptar'/>
  25.                                     </li>
  26.                             </ul>
  27.                             </form>
  28.                             <?php
  29.                                 }else{
  30.                             ?>
  31.                             <ul>
  32.                                     <li>
  33.                                             <h2>Bienvenido usuario <?php echo $_SESSION['user']; ?></h2>
  34.                                             <a class="boton" href="http://www.forosdelweb.com/f18/Login/ControlLogout.php"><p>Cerrar Sesi&oacute;n</p></a>
  35.                                     </li>
  36.                             </ul>
  37.                             <?php
  38.                                 }
  39.                             ?>
ControlLogout.php
Código PHP:
Ver original
  1. <?php
  2.     session_start();
  3.     $_SESSION['user'] = null;
  4.     $_SESSION['pass'] = null;
  5.     header("Location: ../Paginas/index.php");
  6. ?>
  #6 (permalink)  
Antiguo 07/05/2010, 09:25
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: session_destroy() no cierra la session

Prueba a quitar lo de las variables a null, ya que al hacer el destroy te deberia de borrar tambien las variables creadas. Prueba y nos dices, suerte
  #7 (permalink)  
Antiguo 07/05/2010, 09:31
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: session_destroy() no cierra la session

No funciona, parece como si se ubiera quedada colgada, porque tengo un echo $_SESSION['user'] y no dice el login....
algo muy estraño... que debe estar pasando?
  #8 (permalink)  
Antiguo 07/05/2010, 09:42
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: session_destroy() no cierra la session

Aver, a tu index.php creo que le falta el session_start.
Luego si destruyes session como quieres coger la variable user, lo digo por que preguntas en el if si esta puesto 'user' pero luego en el else lo vuelves a poner y esta claro que es a donde va a ir al estar en null despues de el logout...no se si me explico


Edito
Vale creo que lo que te falta es una negacion en isset..

Código PHP:
Ver original
  1. if(!isset ($_SESSION['user'])){
  2.  
  3.                                     $fila = rand(1,6);
  4.  
  5.                                     $columna = rand(1,6);
  6. .
  7. .
  8. .
  #9 (permalink)  
Antiguo 07/05/2010, 09:48
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: session_destroy() no cierra la session

El session_start() se encuentra arriba del todo del index.php antes de la etiqueta <html>

Cuando destruyo la session no quiero coger la variable user, esa variable la muestro cuando la session esta iniciada, pero estando indiciada no muestra su valor.
  #10 (permalink)  
Antiguo 07/05/2010, 09:51
 
Fecha de Ingreso: abril-2010
Mensajes: 25
Antigüedad: 14 años
Puntos: 0
Respuesta: session_destroy() no cierra la session

Funciona!! Curioso porque anteriormente tube que quitarselo...
Muchas gracias!
  #11 (permalink)  
Antiguo 07/05/2010, 09:52
Avatar de Nekeniehl  
Fecha de Ingreso: julio-2009
Ubicación: Berlin, Alemania / Granada, España
Mensajes: 132
Antigüedad: 14 años, 9 meses
Puntos: 6
Respuesta: session_destroy() no cierra la session

A ver: esta parte de codigo la quieres mostrar cuando no hay usuario logueado me equivoco?
Código PHP:
Ver original
  1. #
  2. <?php
  3. #
  4.                                if(isset ($_SESSION['user'])){
  5. #
  6.                                    $fila = rand(1,6);
  7. #
  8.                                    $columna = rand(1,6);
  9. #
  10.                            ?>
  11. #
  12.                             <form method="post" id="formLoginPublic" name="formLoginPublic"
  13. #
  14.                                   action="../Login/ControlLogin.php?<?php print "fila=".$fila."&columna=".$columna ?>">
  15. #
  16.                                 <h2>Acceder...</h2>
  17. #
  18.                             <ul>
  19. #
  20.                                     <li>
  21. #
  22.                                             <h3>Login</h3>
  23. #
  24.                                             <input type="text" id="login2" name='login' size="25" maxlength='25'></input>
  25. #
  26.                                             <h3>Contraseña</h3>
  27. #
  28.                                             <input type="password" id="pwd" name='password' size="25" maxlength='25'></input>
  29. #
  30.                                             <h3>C&oacute;digo <?php echo "Fila ".$fila." Columna ".$columna ?></h3>
  31. #
  32.                                             <input class="iTexto" type="text" id="codigo" name="codigo" size="25" maxlength="4" />
  33. #
  34.                                     </li>
  35. #
  36.                                     <li>
  37. #
  38.                                             <h3>¿Aún no estás registrado?</h3>
  39. #
  40.                                             <a class="boton" href="altaSocio.php"><p>Regístrate</p></a>
  41. #
  42.                                             <input type='submit' value='Aceptar'/>
  43. #
  44.                                     </li>
  45. #
  46.                             </ul>
  47. #
  48.                             </form>
  49. #
  50.                             <?php
  51. #
  52.                                }
y esta otra cuando es lo contrario..

Código PHP:
Ver original
  1. #
  2. else{
  3. #
  4.                             ?>
  5. #
  6.                             <ul>
  7. #
  8.                                     <li>
  9. #
  10.                                             <h2>Bienvenido usuario <?php echo $_SESSION['user']; ?></h2>
  11. #
  12.                                             <a class="boton" href="http://www.forosdelweb.com/f18/Login/ControlLogout.php"><p>Cerrar Sesi&oacute;n</p></a>
  13. #
  14.                                     </li>
  15. #
  16.                             </ul>
  17. #
  18.                             <?php
  19. #
  20.                                }
  21. #
  22.                            ?>

Ergo le falta a
Código PHP:
Ver original
  1. #
  2. if(isset ($_SESSION['user'])){
una negacion tal que asi
Código PHP:
Ver original
  1. #
  2. if(!isset ($_SESSION['user'])){

Etiquetas: cierra, session
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 13:23.