Foros del Web » Programando para Internet » PHP »

Cerrar sesion

Estas en el tema de Cerrar sesion en el foro de PHP en Foros del Web. Hola a todos. Quiero borrar las cookies y las sesiones para cerrar sesion. El problema es que no me borra ni la sesion ni las ...
  #1 (permalink)  
Antiguo 17/05/2011, 15:30
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 16 años, 1 mes
Puntos: 0
Cerrar sesion

Hola a todos. Quiero borrar las cookies y las sesiones para cerrar sesion. El problema es que no me borra ni la sesion ni las cookies. El script es el siguiente:
Código PHP:
<?php

    session_start
();
    unset(
$_SESSION['usuario']); 
    unset(
$_SESSION['id']); 
    unset(
$_COOKIE['usuario']); 
    unset(
$_COOKIE['id']);
    
session_destroy() or die("Error");  
    
header ("Location: index.php"); 
    exit;
    
?>
Donde esta el fallo? Porque no me borra ni la sesion ni las cookies.
  #2 (permalink)  
Antiguo 17/05/2011, 15:37
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cerrar sesion

¿Sale el mensaje de "Error" cuando ejecutas el script?

¿O que sucede? Digo, si no para intentar adivinar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 17/05/2011, 15:45
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cerrar sesion

No sale ningún mensaje de error. Me redirecciona al index, pero no me borra las cookies y/o session.
  #4 (permalink)  
Antiguo 17/05/2011, 15:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cerrar sesion

Quita el header() y ejecuta de nuevo el código.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 17/05/2011, 15:59
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Cerrar sesion

no será que al redireccionarte al index las sesiones se vuelven a crear ahí?

me refiero a que por ejemplo tengas el login en el index, por que mirando el código parece todo estar bien.
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D
  #6 (permalink)  
Antiguo 17/05/2011, 16:13
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cerrar sesion

Al principio del todo del index.php tengo el siguiente codigo

Código PHP:
<?php session_start(); ?>
<?php 
if (isset($_COOKIE['usuario']) AND !isset($_SESSION['usuario'])){ $_SESSION['usuario'] = $_COOKIE['usuario']; $_SESSION['id'] = $_COOKIE['id']; } ?>
<?php 
if (!isset($_SESSION["usuario"])){ include("login.php");} else {....pagina web.....?>
Lo que hago es comprobar si existe las cookies per no sesion (porque cuando cierras el navegador se borran las sesiones) si existen las cookies pero no existe la sesion me crea la sesion basadas en las cookies. Luego si no existe la sesion me redirecciona al login. Dentro del index no hay nada mas relacionado con crear sesiones ni nada.
  #7 (permalink)  
Antiguo 17/05/2011, 16:16
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cerrar sesion

Eh ahí el problema, para eliminar una cookie se debe establecer bajo el mismo nombre pero con fecha de caducidad pasada.

Código PHP:
setcookie('clave'''time() - 3600); 
Por eso es bueno siempre, repito, siempre leer el manual antes de empezar a indagar y programar.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #8 (permalink)  
Antiguo 17/05/2011, 16:27
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cerrar sesion

Pues ahora si que me borra las sesiones y las cookies, pero en el index.php no me muestra nada. Cuando deberia redireccionarme al login, ya que no existe ni cookies ni sesion.

Este es el codigo del principio del index.php

Código PHP:
<?php session_start(); ?>
<?php 
if (isset($_COOKIE['usuario']) AND !isset($_SESSION['usuario'])){ $_SESSION['usuario'] = $_COOKIE['usuario']; $_SESSION['id'] = $_COOKIE['id']; } ?>
<?php 
if (!isset($_SESSION["usuario"])){ include("login.php");} else {....pagina web.....?>
Una pregunta, para un sistema de login que recomiendan cookies o sesiones o que metodo para hacerlo? Yo habia pensado en quitar las sesiones y dejar solo las cookies asi no hago tanto lio el codigo, pero no tendre problemas de seguridad? Ya que es facil modificar una cookies mediante algun que otro programa...aunque claro, siempre podia encriptar el valor de la cookie con md5, no?
  #9 (permalink)  
Antiguo 17/05/2011, 16:36
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cerrar sesion

Te invito a descubrir la lectura a través del manual, pues ahí se explica que las sesiones en si dependen de las cookies.

Supongo que eso resolvería tu duda, ¿no es así?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #10 (permalink)  
Antiguo 17/05/2011, 16:47
Avatar de Jota_sk  
Fecha de Ingreso: octubre-2008
Mensajes: 188
Antigüedad: 16 años, 1 mes
Puntos: 0
Respuesta: Cerrar sesion

Y donde esta ese manual? Te refieres a al FAQ este?
  #11 (permalink)  
Antiguo 17/05/2011, 16:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Cerrar sesion

Me refiero al manual de PHP, desde luego.
http://www.php.net/manual/es/
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #12 (permalink)  
Antiguo 17/05/2011, 16:56
Avatar de stramin  
Fecha de Ingreso: marzo-2008
Ubicación: Cubil felino
Mensajes: 1.652
Antigüedad: 16 años, 8 meses
Puntos: 336
Respuesta: Cerrar sesion

Cita:
Iniciado por Jota_sk Ver Mensaje
Y donde esta ese manual? Te refieres a al FAQ este?
Bueno pateketrueke no se refería a ese, pero si también, nuestro querido foro tambien tiene su manual de php XD

El manual oficial de php es:

http://php.net/
__________________
El objetivo de este foro es orientar al usuario como un favor y no como una obligación.

Yo soy de los que dan puntos por aporte :D

Etiquetas: cerrar
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 21:57.