Foros del Web » Programando para Internet » PHP »

Desconocimiento de las sesiones

Estas en el tema de Desconocimiento de las sesiones en el foro de PHP en Foros del Web. Tengo un problema con las sesiones, ya le busque de todas las formas que se ocurren pero no resultaron. El problema es como le hago ...
  #1 (permalink)  
Antiguo 26/04/2004, 17:32
 
Fecha de Ingreso: febrero-2004
Ubicación: México
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
Exclamación Desconocimiento de las sesiones

Tengo un problema con las sesiones, ya le busque de todas las formas que se ocurren pero no resultaron.
El problema es como le hago para comprobar si el usuario ya ah iniciado sesión y no se ah saltedo páginaslo hago de la siguiente manera

<?
session_start(); // incio de uso de sesiones.
$variable=$_SESSION['variable'];{ // asignamos a $variable la
session_destroy();
?>

el error me dice:

Notice: Undefined index variable in C:\prueba\prueba.php on line 3

que es la linea de $variable

porfavor ayudenme
  #2 (permalink)  
Antiguo 26/04/2004, 17:43
Avatar de ebe
ebe
 
Fecha de Ingreso: marzo-2004
Ubicación: Guatemala
Mensajes: 363
Antigüedad: 13 años, 9 meses
Puntos: 11
Esta podria ser tu solucion
<?
session_start();
if(session_is_registered('varible'))
{
echo ("tu varible de sesion es $variable");
}
else
{
echo "no ha sido detectada variable de sesion $variable";
}
?>

Utiliza una sentecia de control (en este caso If y la funcion "session_is_registered()) para comprobar si existe esta varible y dependiendo del resultado proceder con una u otra acción.

Hasta pronto!!
__________________
http://dev.wsnetcorp.com
  #3 (permalink)  
Antiguo 26/04/2004, 17:48
 
Fecha de Ingreso: febrero-2004
Ubicación: México
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
gracias por la respuesta mi amigo, te lo agradezco
  #4 (permalink)  
Antiguo 26/04/2004, 18:02
 
Fecha de Ingreso: febrero-2004
Ubicación: México
Mensajes: 28
Antigüedad: 13 años, 9 meses
Puntos: 0
otra preguntota, y para ponerle vencimiento a la sesion, que solamente tengan un tiempo para usarla, asi como las cookies
  #5 (permalink)  
Antiguo 27/04/2004, 08:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Las sesiones son altamente configurables .. La mayoría de parámetros son de configuración del php.ini (ajustable por ini_set() función algunas).

El tiempo de la sesión .. en "sesiones" no se controla o se trabaja tan "libremente" como cuando se trabaja con cookies. Se "supone" que la sesión ha de durar lo que el usuario esté trabajando con el sitio. En el momento que abandone todas las páginas del sitio en cuestión (las cierre) la sesión debe morir (el SID pasar al estado "garbage") .. aunque ese tiempo por defecto PHP lo extiende a 1440 segundos (en session.gc_maxtimelife del php.ini) .. pero el "efecto" de que la sesión (el SID mejor dicho) expiere o no .. depende de otros factores .. sobre todo de la propagación del SID.

Todo esto lo describe el manual (de lectura obligatoria) oficial de PHP:
www.php.net/session

En tu problema inicial ...

No sé si usas PHP 4.1.0 en adelante (que es donde puedes usar los array superglobalese $_SESSION entre otro) .. tampoco comentas como ejecutas ese script en concreto (llamado desde un link de otro script que inició y puso valor a $_SESSION['variable'] ? ...) .. Pero, .. la propagación del "SID" (identificador único de sesión) es -importantisimo- conocerla .. Conocer como lo hace tu configuración de php por qué de eso depende como puedes programar tus sesiones.

Las funciones:
session_is_registered(), session_register() .. etc NO deberían usarse si usas los arrays superglobales $_SESSION

En su defecto deberías usar estrucutras tipo:

Código PHP:
if (isset($_SESSION['variable'])){
   echo 
"variable de sesión existe";
} else {
   echo 
"La variable de sesión no existe";

que ademas ..evitaran el "aviso" de PHP de indice no definido cuando no exita tal variable en la sesión que pretendes acceder.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
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 18:52.