Foros del Web » Programando para Internet » PHP »

Problema con $_SESSION

Estas en el tema de Problema con $_SESSION en el foro de PHP en Foros del Web. Hola a tod@s. Tengo un problema con las sesiones en PHP, he aquí mi código. @import url("http://static.forosdelweb.com/clientscript/vbulletin_css/geshi.css"); Código PHP: Ver original if ( ! isset ...
  #1 (permalink)  
Antiguo 21/04/2010, 11:02
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 17 años, 6 meses
Puntos: 0
Problema con $_SESSION

Hola a tod@s.

Tengo un problema con las sesiones en PHP, he aquí mi código.

Código PHP:
Ver original
  1. if (!isset($_SESSION['Nick'])) {
  2.     session_start();
  3. } else {
  4.     session_start();
  5. }

Pues mirad, cuando el usuario en mi página conecta y guarda las variables de sesión, en este caso 'Nick', hago un include con el código de arriba en cada página para verificar que existe la sesión.

El problema es que al pasar a la siguiente página se pierde el valor de la variable $_SESSION['Nick'] y al no haberla destruye la sesión.

Si en vez de ese código utilizo este:
Código PHP:
Ver original
  1. if (!isset($_COOKIE['Nick'])) {
  2.     session_start();
  3. } else {
  4.     session_start();
  5. }

Este sí funciona, pero además de tener que crear una $_COOKIE['Nick'] al conectar sólo la utilizo en este punto, ya que las zonas restringidas a usuarios registrados las identifico con $_SESSION['Nick'], sólo utilizo $_COOKIE['Nick'] para este código, y no entiendo porqué funciona así y como de la otra forma no, ¿sugerencias?.

Espero que se entienda, y gracias de antemano.

Saludos, K4RLOX.

Última edición por k4rlox; 21/04/2010 a las 11:14
  #2 (permalink)  
Antiguo 21/04/2010, 12:06
 
Fecha de Ingreso: abril-2010
Mensajes: 115
Antigüedad: 14 años
Puntos: 2
Respuesta: Problema con $_SESSION

se me ocurre lo siguiente
Código PHP:
Ver original
  1. <?
  2. if(!$_SESSION['usuario']=='Nick'){
  3. header("Location: index.php");// si no es igual a nick te direcciona al inicio u a otra pagina
  4. }
  5.  
  6. ?>

otra opcion podria ser
Código PHP:
Ver original
  1. if(!$_SESSION['iniciada']==1){
  2. die("ACCESO RESTRINGIDO"); // matas al proceso y envias elmensaje y ya nomuestra nada mas de la pagina
  3. }
  #3 (permalink)  
Antiguo 21/04/2010, 12:22
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 1 mes
Puntos: 77
Respuesta: Problema con $_SESSION

Hum, pues no puedes usar una variable de sesion sin haber iniciado la sesion antes, por eso se "pierde" :/
Debes iniciar la sesion antes de usar las variables $_SESSION
  #4 (permalink)  
Antiguo 21/04/2010, 13:39
 
Fecha de Ingreso: octubre-2006
Mensajes: 2
Antigüedad: 17 años, 6 meses
Puntos: 0
Respuesta: Problema con $_SESSION

Gracias a los dos por responder, al final opté por eso, poner el sesion_start(); delante, un fallo de novato.


Etiquetas: 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 00:26.