Foros del Web » Programando para Internet » PHP »

Sesiones

Estas en el tema de Sesiones en el foro de PHP en Foros del Web. Hola buenas, tengo un pequeño expediente x con las sesiones de php(un clásico) El problema es que me tengo que logar dos veces para que ...
  #1 (permalink)  
Antiguo 07/06/2011, 02:53
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Sesiones

Hola buenas, tengo un pequeño expediente x con las sesiones de php(un clásico)

El problema es que me tengo que logar dos veces para que funcione, si me logo de primeras la variable $_SESSION se pierde

Croquis:

dos archivos: index.php ---> panel.php

en index.php

Código PHP:
 session_start();

 
$_SESSION['email'] = $row['mail'];

echo 
"<script>document.location.href='http://www.querywords.com/panel.php';</script>\n"


en panel.php

Código PHP:
 session_start();

$email =  $_SESSION['email'] ;


if(
$email....tal tal 
Hay que imaginarse que cojo las variables las proceso/valido consulta a la BD y a funcionar...
La primera vez que me logo no funciona no hay nada en la variable $email, si lo hago una segunda vez si..........Si me vuelvo a logar una tercera vez funciona y asi sucesivamente. Si borro cookies y cache volvemos a lo mismo.

Pero claro necesito que entre de primera no a la segunda ajajjaja

Alguna solucion??? por mucho que leo no saco nada en claro




os dejo las sesiones del phpinfo()

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 On On
session.bug_compat_warn On On
session.cache_expire 180 180
session.cache_limiter nocache nocache
session.cookie_domain no value no value
session.cookie_httponly Off Off
session.cookie_lifetime 0 0
session.cookie_path / /
session.cookie_secure Off Off
session.entropy_file no value no value
session.entropy_length 0 0
session.gc_divisor 100 100
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.hash_bits_per_character 4 4
session.hash_function 0 0
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /tmp /tmp
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid 0 0

Última edición por wani1985; 07/06/2011 a las 04:14
  #2 (permalink)  
Antiguo 07/06/2011, 05:02
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sesiones

Vas a tener que verificar los valores grabados en $_SESSION. Usa var_dump y exit para ver el comportamiento de esas variables.
__________________
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/06/2011, 05:25
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Si, ya he hecho el var dump y el resultado es NULL
  #4 (permalink)  
Antiguo 07/06/2011, 05:31
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sesiones

¿Pero lo haz hecho después que se envían los datos?
__________________
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/06/2011, 05:34
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por abimaelrc Ver Mensaje
¿Pero lo haz hecho después que se envían los datos?
si
  #6 (permalink)  
Antiguo 07/06/2011, 05:35
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

es como si el session_start(); reiniciase la primera vez y la segunda retomase la sesion, a nadie le pasa eso? De ahi logarme dos veces y funcionar
  #7 (permalink)  
Antiguo 07/06/2011, 05:41
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sesiones

Puede que estés redireccionando y no te estás dando cuenta de esa parte por tal vez el orden en que verificas.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #8 (permalink)  
Antiguo 07/06/2011, 05:43
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

en panel.php


Código PHP:
<?php session_start();


$email$_SESSION['email']; 

if(
$email==NULL){


echo 
"<script>document.location.href='http://www.dominio.com';</script>\n";
}

como la encuentra nula vuelve al index.php sino entra en la web no tiene mas la primera vez me devuelve a index, la seguna ya entra y se queda pq no es nula
  #9 (permalink)  
Antiguo 07/06/2011, 05:55
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Sesiones

Pero ese no es el problema, ahí no la creas, busca donde la creas y haz el var_dump, cuando te loguees por primera vez.
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #10 (permalink)  
Antiguo 07/06/2011, 06:03
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por abimaelrc Ver Mensaje
Pero ese no es el problema, ahí no la creas, busca donde la creas y haz el var_dump, cuando te loguees por primera vez.
hecho, sale string(13) "[email protected]" pero la segunda vez que lo hago la primera no sale nada
  #11 (permalink)  
Antiguo 07/06/2011, 06:45
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

en donde lo creas tmb tienes session_start() ??
  #12 (permalink)  
Antiguo 07/06/2011, 06:50
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por wani1985 Ver Mensaje
hecho, sale string(13) "[email protected]" pero la segunda vez que lo hago la primera no sale nada

en index.php te logas y se queda guardada la variable $_SESSION pero al ir a panel.php se esfuma
  #13 (permalink)  
Antiguo 07/06/2011, 06:51
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por iviamontes Ver Mensaje
en donde lo creas tmb tienes session_start() ??
si, esta en todos los archivos
  #14 (permalink)  
Antiguo 07/06/2011, 06:56
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

vamos por parte en index todo está bien ???
en panel incluyes algún otro archivo que tenga un unset($_SESSION['email']) o algun session_destroy ?

y las cookies no tienen nada que ver
  #15 (permalink)  
Antiguo 07/06/2011, 06:58
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por iviamontes Ver Mensaje
vamos por parte en index todo está bien ???
en panel incluyes algún otro archivo que tenga un unset($_SESSION['email']) o algun session_destroy ?

y las cookies no tienen nada que ver
si, en index.php va todo bien al entrar en panel.php no hay valor en $_SESSION['email'] , en panel no se incluye nada ni hay session de otro tipo solo el start al principio
  #16 (permalink)  
Antiguo 07/06/2011, 07:03
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

mmm, y estás seguro que index al final no le asignas $_SESSION['email'] a algo vacio
haz un var_dump en index al final del archivo, para estar seguro que sale de index bien
  #17 (permalink)  
Antiguo 07/06/2011, 07:09
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por iviamontes Ver Mensaje
mmm, y estás seguro que index al final no le asignas $_SESSION['email'] a algo vacio
haz un var_dump en index al final del archivo, para estar seguro que sale de index bien
si, va bien se ve el valor...es en panel.php se pierde la primera vez
  #18 (permalink)  
Antiguo 07/06/2011, 07:10
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

bueno despues que haces session_start() en panel
haz el vr_dump a ver, sería como la linea 2 0 3 del archivo
  #19 (permalink)  
Antiguo 07/06/2011, 07:17
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

es NULL y la siguiente vez ya tiene valor de un email
  #20 (permalink)  
Antiguo 07/06/2011, 07:23
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

uff malo malo, eso nunca lo había visto..., crea 2 archivos nuevo
1 - session_start / $_SESSIO['algo'] = 'algo'

2 - session_start / echo $_SESSIO['algo']

y veamos si es tu servidor o es tu programacion en los 2 archivos index / panel
  #21 (permalink)  
Antiguo 07/06/2011, 07:25
 
Fecha de Ingreso: abril-2008
Mensajes: 435
Antigüedad: 16 años
Puntos: 10
Respuesta: Sesiones

Hola,
lo mas facil seria que dejes todo el codigo involucrado para que lo analicemos

saludos
  #22 (permalink)  
Antiguo 07/06/2011, 07:34
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por iviamontes Ver Mensaje
uff malo malo, eso nunca lo había visto..., crea 2 archivos nuevo
1 - session_start / $_SESSIO['algo'] = 'algo'

2 - session_start / echo $_SESSIO['algo']

y veamos si es tu servidor o es tu programacion en los 2 archivos index / panel
He hecho los dos archivos:

1.php y 2.php

1.php

Código PHP:
<?  session_start();

 
$_SESSION['algo'] = 'algo'
 
 echo 
"<script>
location.href='http://www.dominio.com/2.php';
</script>"


 
 
?>

2.php

Código PHP:
<?  session_start();

echo 
$_SESSION['algo'];
var_dump($_SESSION['algo']);
 
?>


si ejecuto 1.php se va a 2.php y el resultado es NULL si lo vuelvo hacer es "algo"



el hosting es 1and1
  #23 (permalink)  
Antiguo 07/06/2011, 07:36
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

me quedo loco !!!
cambia esto

echo "<script>
location.href='http://www.dominio.com/2.php';
</script>";

por header("Location:2.php");
  #24 (permalink)  
Antiguo 07/06/2011, 07:44
 
Fecha de Ingreso: abril-2010
Mensajes: 62
Antigüedad: 14 años
Puntos: 0
Respuesta: Sesiones

Cita:
Iniciado por iviamontes Ver Mensaje
me quedo loco !!!
cambia esto

echo "<script>
location.href='http://www.dominio.com/2.php';
</script>";

por header("Location:2.php");
joder era eso!!!!!!! madre mia.................1millon de gracias
  #25 (permalink)  
Antiguo 07/06/2011, 07:45
Avatar de iviamontes  
Fecha de Ingreso: enero-2011
Ubicación: $cubano->Arg->Mendoza
Mensajes: 1.184
Antigüedad: 13 años, 3 meses
Puntos: 209
Respuesta: Sesiones

x nada, se acepta karma jajaja

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