Foros del Web » Programando para Internet » PHP »

Otra duda sobre sessiones

Estas en el tema de Otra duda sobre sessiones en el foro de PHP en Foros del Web. Hola, bueno os escribo aqui porque tengo una duda que me esta dando dolor de cabeza. Os introduzco en el tema; la question es que ...
  #1 (permalink)  
Antiguo 16/08/2006, 10:36
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
Otra duda sobre sessiones

Hola, bueno os escribo aqui porque tengo una duda que me esta dando dolor de cabeza.

Os introduzco en el tema; la question es que he echo una pagina casi entera en php en local, con el php-easy de servidor, el problema lo tengo cuando subo la pagina en mi servidor de internet.El problema consiste en que mis variables de session no se me guardan de una pagina a otra, os pongo un codigo simple y luego explico mas.Aqui van 2 paginas extrasimplificadas.

Código:
 <? session_start();	
$_SESSION['Spermis']=0;
echo $_SESSION['Spermis'];
?>
<form name="form1" method="post" action="pag2.php">
<input type="submit" name="Submit" value="Entrar">
</form>
muestra 0 i me sale un boton-> le doy i voy a la pagina 2

Código:
<?
session_start();
if(!isset($_SESSION['Spermis'])){
echo "noentra";
}
?>
me muestra no entra

E buala asi veis lo que quiero decir.La verdad que estoy poco rodado con el php y mas con temas mas practicos, bueno no creo que sea problema del codigo asi que os pongo las variables del php.ini aver si sabeis ver el problema.

Directive Local Value Master Value
session.auto_start Off Off
session.bug_compat_42 Off Off
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_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 1000 1000
session.gc_maxlifetime 1440 1440
session.gc_probability 1 1
session.name PHPSESSID PHPSESSID
session.referer_check no value no value
session.save_handler files files
session.save_path /var/lib/php/session /var/lib/php/session
session.serialize_handler php php
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off

He pensado en ponerlas como en mi servidor local con la funcion ini_set() pero me gustaria que me dierais vuestra opinion antes de tocar nada. porque no es el primer servidor que me hace esto.

Gracias por anticipado, estoy seguro que me podreis echar un cable ya que seguro que es una chorrada.
  #2 (permalink)  
Antiguo 16/08/2006, 11:28
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
Te falta especificar el nombre de la sesion:


Código PHP:
$nombre_session='sesion_pato'
session_name($nombre_session);
session_start(); 
la variable de $nombre_session la puedes almacenar en un archivo que incluyas en todos los demas con include (), para optimizar tu codigo en caso de que cambies el nombre de la sesion.

saludos
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #3 (permalink)  
Antiguo 16/08/2006, 11:51
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
mm yo tenia entendido que no era nescesario darle nombre personalmente a la session, de todos modos lo probare.Otra pregunta le di nombre solo a la primera pagina entonces..no? y debo usar una variable dinamica para iniciar las sesiones ?
  #4 (permalink)  
Antiguo 16/08/2006, 12:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Algunas observaciones:

Código PHP:
<? session_start();    
$_SESSION['Spermis']=0;
echo 
$_SESSION['Spermis'];
?>
Ese tipo de cosas .. los datos no son los reales de tu sesión. No puedes dar un valor a una variable de sesión e intentar verlo en el mismo script que la genera. Ese dato no es el real que la sesión contiene. La sesión sólo queda "almacenada" en la próxima petición al servidor, es decir, cuando recargas esa página, o saltas a otro script.

Según la configuración de PHP que usas o muestras ..:
Cita:
session.use_cookies On On
session.use_only_cookies Off Off
session.use_trans_sid Off Off
La propagación del SID lo haces en cookies. No sé si conoces que es el "SID" pero debes conocer que es y como se propaga este (en el foro se ha hablado infinidad de veces sobre este tema ..).

Al propagar el SID en cookies, debes tener un navegador que acepte cookies habilitado (las que PHP creará para propagar el SID en ella). Revisa que nada más: firewall, antivirus .. etc .. esté bloqueando esas cookies.

También puedes ajustar los parámetros sobre la cookie que PHP crea, indicando domino y "path" .. ya sea en tun php.ini si tienes acceso a el o bien con ini_set() o función para tal fin:

session_set_cookie_params()
http://www.php.net/session_set_cookie_params

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #5 (permalink)  
Antiguo 16/08/2006, 12:21
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
Cita:
Iniciado por Cluster Ver Mensaje
Algunas observaciones:

Código PHP:
<? session_start();    
$_SESSION['Spermis']=0;
echo 
$_SESSION['Spermis'];
?>
Ese tipo de cosas .. los datos no son los reales de tu sesión. No puedes dar un valor a una variable de sesión e intentar verlo en el mismo script que la genera. Ese dato no es el real que la sesión contiene. La sesión sólo queda "almacenada" en la próxima petición al servidor, es decir, cuando recargas esa página, o saltas a otro script.
vale eso lo entiendo.. pero.. el problema esque a mi si me muestra un 0, entonces se guarda como una variable normal y no lo interpreta como var de session?


Cita:
Iniciado por Cluster Ver Mensaje
Según la configuración de PHP que usas o muestras ..:


La propagación del SID lo haces en cookies. No sé si conoces que es el "SID" pero debes conocer que es y como se propaga este (en el foro se ha hablado infinidad de veces sobre este tema ..).

Al propagar el SID en cookies, debes tener un navegador que acepte cookies habilitado (las que PHP creará para propagar el SID en ella). Revisa que nada más: firewall, antivirus .. etc .. esté bloqueando esas cookies.
MM.. ya mirare que es el sid, pero yo no tengo la cokies blokeadas i no me blokea el firewall.Lo que me estas diciendo despues es que tendria que poner session.use_trans_sid On On? la verdad voy muy perdido precisamente porque e chekeado el ini de mi local y es = al de inet. y ami el script en casa me va perfecto.


Por cierto: si yo uso echo session_id(); i refresco la pagina a base de f5 la el id de la session no tendria que variar verdad, o si?
  #6 (permalink)  
Antiguo 16/08/2006, 12:27
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
Cita:
Iniciado por BiGloOl Ver Mensaje
mm yo tenia entendido que no era nescesario darle nombre personalmente a la session, de todos modos lo probare.Otra pregunta le di nombre solo a la primera pagina entonces..no? y debo usar una variable dinamica para iniciar las sesiones ?
Me refiero a esto:

archivo "variables.php"
Código PHP:
$nombre_session="session_pato"
tus otros archivos:
Código PHP:
require_once('variables.php');
session_name($nombre_session);
session_start(); 
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #7 (permalink)  
Antiguo 16/08/2006, 12:31
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
Cita:
Iniciado por pato_volador Ver Mensaje
Me refiero a esto:

archivo "variables.php"
Código PHP:
$nombre_session="session_pato"
tus otros archivos:
Código PHP:
require_once('variables.php');
session_name($nombre_session);
session_start(); 
bueno la verdad si te tengo que ser sincero ya lo he probado. pero creo que lo que me estas diciendo es inecesario.Aparte a lo que yo me referia es otra cosa.. ya se como funcionan los includes y el tema este.

Puedes hacerme la prueba esta:
Por cierto: si yo uso echo session_id(); i refresco la pagina a base de f5 la el id de la session no tendria que variar verdad, o si?

Gracias
  #8 (permalink)  
Antiguo 16/08/2006, 12:39
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
No, el Id de la sesion no debe de variar para nada...
te cambia?.. jejeje q pregunta tan tonta.. si lo mencionas es por que asi es...

dejame ver que puede estar pasando
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #9 (permalink)  
Antiguo 16/08/2006, 12:42
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
pues si.. por eso me extraña tanto..
tiene que ser un error tonto o algo de la configuración... i me esta estresando porque en el ini no veo nada raro i en local me va de coña.. alguien que haya montado 300 webs en php me puede echar un cable? seguro que a alguien le a pasado algo parecido.
  #10 (permalink)  
Antiguo 16/08/2006, 12:47
Avatar de pato_volador  
Fecha de Ingreso: octubre-2005
Ubicación: Planeta tierra
Mensajes: 254
Antigüedad: 18 años, 6 meses
Puntos: 0
hooo creo q ya se que pasa... mira tengo estos dos scripts:
Código PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<?php
session_start
();
echo 
session_id();
?> 
</body>
</html>
Y en efecto, me cambia el ID de la sesion cada vez que refresco la pagina, lo hace por que no se puede enviar la informacion de la sesion anterior y crea una nueva, debido a que existe un output antes de iniciarla, si lo corres en tu localhost es probable que veas los warnings...

ahora si lo hacemos asi:

Código PHP:
<?php
session_start
();
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Documento sin t&iacute;tulo</title>
<?php
echo session_id();
?> 
</body>
</html>
No hay warnigs, no hay outputs antes de iniciar la sesion, la informacion se enviar correctamente y no se crean nuevas sesiones.

Saludos
__________________
De todas las cosas que queria ser... :-D acabe siendo un pato volador... :risa:
http://patovolador.wordpress.com
  #11 (permalink)  
Antiguo 16/08/2006, 12:52
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
Pos no.. XD e puesto tu script directamente..i no va..(sip el segundo :/ ) yo ya te tenido en cuenta en mis paginas hacer el session_start al principio de todo.. es otra cosa que hace que se me reinicie la session a cada pagina.. seguramente alguna cosa de configuracion.

PD: hasta que no llegue alguien que las haya visto todas i sepa que coño es no lo voy a solucionar xD
  #12 (permalink)  
Antiguo 16/08/2006, 13:01
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por BiGloOl Ver Mensaje
Pos no.. XD e puesto tu script directamente..i no va..(sip el segundo :/ ) yo ya te tenido en cuenta en mis paginas hacer el session_start al principio de todo.. es otra cosa que hace que se me reinicie la session a cada pagina.. seguramente alguna cosa de configuracion.

PD: hasta que no llegue alguien que las haya visto todas i sepa que coño es no lo voy a solucionar xD
Yo insisto que tienes que comprobar si las cookies se están generando en tu PC .. No sólo tu navegador las bloquea .. (por nivel de "seguridad" sobre todo) ..

También puedes ajustar las propiedades del tipo de cookie que PHP genera (ya te mencioné la función a usar).

Por otro lado si quieres ver que los problemas los tienes en la dichosa cookie; propaga el SID en el URL manualmente:

Código PHP:
<? session_start();    
$_SESSION['Spermis']="Esto es una prueba";
?>
<form name="form1" method="post" action="pag2.php">
<input type="hidden" name="<? echo session_name ?>" value="<? echo session_id ?>">
<input type="submit" name="Submit" value="Entrar">
</form>
Sería ideal acompañar esta prueba del cambio de:
session.use_trans_sid de OFF a ON (por el momento).

Si eso te funciona .. como ya te he mencionado .. el problema lo tienes con la cookie que PHP intenta generar: es bloqueada o le falta ajuste (dominio y path para ser exactos).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #13 (permalink)  
Antiguo 16/08/2006, 13:03
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por pato_volador Ver Mensaje
Me refiero a esto:

archivo "variables.php"
Código PHP:
$nombre_session="session_pato"
tus otros archivos:
Código PHP:
require_once('variables.php');
session_name($nombre_session);
session_start(); 
Definir nombre de sesión "própio" para una sesión no tiene nada que ver con que el SID se esté propagando.

(hablo en general .. ) Creo que están "omitiendo" mucho el concepto del "SID" (Identificador Único de Sesión) .. Es -necesario- conocer que existe y que eso es el "pilar" fundamentel de que las sesiones funcionene .. si no leen al respecto en www.php.net/session y ven por qué métodos se puede propagar .. iran dando "vueltas" sobre el problema sin saber que sucede.

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #14 (permalink)  
Antiguo 16/08/2006, 13:05
Avatar de Dalbin  
Fecha de Ingreso: abril-2005
Mensajes: 74
Antigüedad: 19 años
Puntos: 4
yo tenia el mismo problema que tu BiGloOl, pero hoy mismo lo solucione, hice cosas e invente, y con un poco de ayuda termine de abrir los ojo, no se si es la manera correcta de hacerlo pero me funciono.

Este codigo lo tengo en la pagina de validacion de usuarios, de alli paso la session_id() por url...

Código PHP:
<?
    
if ($usuario == $nick && $clave == $pass && $status == 1){
    
    
session_name('nombre');
    
    
session_start();
    
    
$_SESSION["nombre"] = $nombre;
    
$_SESSION["nick"] = $nick;
    
$_SESSION["tipo_usuario"] = $tipo_usuario;
?>
    <script language="javascript">
        location.href="principal.php?mes=<? echo date(n);?>&ano=<? echo date(Y);?>&sessid=<? echo session_id();?>";
    </script>
<?
}
En la pagina despues de ser validado el usuario leo las variables asi...

Código PHP:
<?
  session_id
($sessid);
  
  
session_start();

  echo 
$_SESSION['nombre'];
?>
No se si ya lo hiciste, pero asi me funciono
__________________
Lo más importante en la vida es estar con los ojos abiertos, y ver más alla de lo que te ofrecen
  #15 (permalink)  
Antiguo 16/08/2006, 13:28
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
Cita:
Iniciado por Cluster Ver Mensaje
Definir nombre de sesión "própio" para una sesión no tiene nada que ver con que el SID se esté propagando.

(hablo en general .. ) Creo que están "omitiendo" mucho el concepto del "SID" (Identificador Único de Sesión) .. Es -necesario- conocer que existe y que eso es el "pilar" fundamentel de que las sesiones funcionene .. si no leen al respecto en y ven por qué métodos se puede propagar .. iran dando "vueltas" sobre el problema sin saber que sucede.

Un saludo,
bueno yo no estare rodado en php pero llevo muchos añod programando.. llevamos un rato dicendo que el identificador unico no se propaga se "recrea" cada vez..

Y dalbin gracias asi si funciona.. pero aun asi me voy a quedar con la duda.. de porque me pasa esto.De echo este metodo es el que voy i tenia pensado usar si no encuentro la solucion.. a lo hotmailcutre xD

PD:Cluster las cookis que se generan no se generan en la carpeta de cookies verdad? entonces donde se generan.. en archivos temporales de innet? uso winXP e desactivado el firewall de windows i no se encontrar la cookie..
  #16 (permalink)  
Antiguo 17/08/2006, 06:36
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por Dalbin Ver Mensaje
yo tenia el mismo problema que tu BiGloOl, pero hoy mismo lo solucione, hice cosas e invente, y con un poco de ayuda termine de abrir los ojo, no se si es la manera correcta de hacerlo pero me funciono.

Este codigo lo tengo en la pagina de validacion de usuarios, de alli paso la session_id() por url...

Código PHP:
<?
    
if ($usuario == $nick && $clave == $pass && $status == 1){
    
    
session_name('nombre');
    
    
session_start();
    
    
$_SESSION["nombre"] = $nombre;
    
$_SESSION["nick"] = $nick;
    
$_SESSION["tipo_usuario"] = $tipo_usuario;
?>
    <script language="javascript">
        location.href="principal.php?mes=<? echo date(n);?>&ano=<? echo date(Y);?>&sessid=<? echo session_id();?>";
    </script>
<?
}
En la pagina despues de ser validado el usuario leo las variables asi...

Código PHP:
<?
  session_id
($sessid);
  
  
session_start();

  echo 
$_SESSION['nombre'];
?>
No se si ya lo hiciste, pero asi me funciono
Para redireccionar . .podrías usar cabeceras directas:

header ("Location: url_a_redireccionar");

Más rápido y seguro.

El SID no puedes generarlo "asumiendo" un nombre de sesión dado .. es mejor obtenerlo por la función session_name() que devuelve el nombre de sesión que estás usando o simplemente usar la constante SID que devuelve todo:

nombre_sesion=id_sesion

Te quedaría todo:

Código PHP:
<? 
    
if ($usuario == $nick && $clave == $pass && $status == 1){ 
     
    
session_name('nombre'); 
     
    
session_start(); 
     
    
$_SESSION["nombre"] = $nombre
    
$_SESSION["nick"] = $nick
    
$_SESSION["tipo_usuario"] = $tipo_usuario
    
    
header ("Location: principal.php?mes=".date(n)."&ano=".date(Y)."&".SID);
   exit; 
}
Por otro lado .. al usar sesiones podrías propagar esas variables de "mes" y "ano" en una variable de sesión también. Las "sesiones" no sólo están para que metamos un "usuario" o identificador de este sólamente .. Aprovechalas (siempre que el contexto de tu aplicación lo necesite).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #17 (permalink)  
Antiguo 17/08/2006, 06:53
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Iniciado por BiGloOl Ver Mensaje
bueno yo no estare rodado en php pero llevo muchos añod programando.. llevamos un rato dicendo que el identificador unico no se propaga se "recrea" cada vez..

Y dalbin gracias asi si funciona.. pero aun asi me voy a quedar con la duda.. de porque me pasa esto.De echo este metodo es el que voy i tenia pensado usar si no encuentro la solucion.. a lo hotmailcutre xD

PD:Cluster las cookis que se generan no se generan en la carpeta de cookies verdad? entonces donde se generan.. en archivos temporales de innet? uso winXP e desactivado el firewall de windows i no se encontrar la cookie..
Cita:
bueno yo no estare rodado en php pero llevo muchos añod programando.. llevamos un rato dicendo que el identificador unico no se propaga se "recrea" cada vez..
Si, entiendo lo que mencionas .. tu SID se recrea por qué -no se llega a propagar- ..

Las sesionse funcionan por el principio del que el dichoso SID se "propague" entre los scripts que coomponen la sesión (de los que vas saltando entre ellos). De que a un script X concreto le llegue un SID propagado en una cookie o en el URL y sea válido (no esté expirado) esa es la "grácia" para que la sesión continue .. sino se consigue propagar el SID .. se crea uno nuevo, y ese es el efecto que ves en tu caso.


Cita:
Y dalbin gracias asi si funciona.. pero aun asi me voy a quedar con la duda.. de porque me pasa esto.De echo este metodo es el que voy i tenia pensado usar si no encuentro la solucion.. a lo hotmailcutre xD
En mi ejemplo .. cometío un errror .... me dejé los () de las funciones session_id() y session_name():

Código PHP:
<? session_start();     
$_SESSION['Spermis']="Esto es una prueba"
?> 
<form name="form1" method="post" action="pag2.php"> 
<input type="hidden" name="<? echo session_name() ?>" value="<? echo session_id() ?>"> 
<input type="submit" name="Submit" value="Entrar"> 
</form>
Pruebalo y me comentas.

Como veras ahí se "propga" el SID manualmente en el URL (ya sea si pasas de un script a otro por una redirección o por un formulario se incluye el SID . .ya sea como "constante" .. por funciones session_id() .. session_name() o como lo quieras obtener.

Cita:
PD:Cluster las cookis que se generan no se generan en la carpeta de cookies verdad? entonces donde se generan.. en archivos temporales de innet? uso winXP e desactivado el firewall de windows i no se encontrar la cookie..
Existen las cookies denominadas de "sesión" .. son cookies que su duración se indica "0" (en tu php.ini por la cookie que crea PHP estará configurada como:
session.cookie_lifetime = 0), esas cookies no quedan en ningún "temporal" bajo el navegador que las ejecuta (como las que tienen tiempo de vida mayor que 0 segundos) .. quedan en "memoria". Para evaluar ese tipo de cookies si se están generando necesitas otras herramientas: lease, sniffers de la conexión HTTP o ciertos navegadores (como FireFox creo que tiene un plug-in para ver la transacción HTTP de lo que por el circula y/ un mejor método para evaluar que cookies las páginas que visitas pretenden crearse).

También vuelvo a insistir que PHP genera cierto tipo de cookie con ciertos parámetros: domino y path .. que puede ser que en tu caso es lo que NO sea correcto y por ende no se llegan a crear. Esto tendrás que resorverlo viendo como funciona las cookies (PHP sólo las "crea" si quieres propagar el SID automáticamente en una cookie y te pone a tu disposición funciones para ajustar sus parámetros . .tal cual si creases una cookie con setcookie() por ejemplo ..).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #18 (permalink)  
Antiguo 17/08/2006, 09:06
Avatar de Dalbin  
Fecha de Ingreso: abril-2005
Mensajes: 74
Antigüedad: 19 años
Puntos: 4
Muchas gracias Cluster, me sirvio demaciado la explicacion y el cambio que le distes a mi codigo...
__________________
Lo más importante en la vida es estar con los ojos abiertos, y ver más alla de lo que te ofrecen
  #19 (permalink)  
Antiguo 18/08/2006, 13:47
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
Bueno cluster lo que se seguro es que el id de la sesion no caduca, aunque no se propaga.Por lo tanto con el metodo que puso dalbin ya me vale.

Por otra parte el metodo que as usado con el hidden es muy similar al que use con el otro servidor que me dio el mismo problema, aunque pasandole el permiso directamente i por lo tanto con una seguridad mas baja.

Segun lo que me dices la cookies se almacenan en la ram y yo no estoy pa ponerme a snifar los paketes ke me llegan del server.
Puede ser entonces, por lo que dices tu, que el problema este en mi pc, lo que no entiendo entonces que solo me de problemas con estos dos servidores concretos.
De todos modos gracias por la explicacion, cuando tenga tiempo ya probare primero de activar la propagacion del ID con el trans_sid(que seguramente resolvera el problema) i sino modificar los parametros de las cookies.

Gracias otra vez i suerte.
  #20 (permalink)  
Antiguo 18/08/2006, 14:16
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
Cita:
Puede ser entonces, por lo que dices tu, que el problema este en mi pc, lo que no entiendo entonces que solo me de problemas con estos dos servidores concretos.
Te vuelvo a insistir .. PHP cuando propaga el SID en cookie's crea una cookie con ciertos valores .. entre ellos define un "path" y un "domino" válido para esa cookie. Esto involucra a la configuración de PHP .. la cual puedes alterar por la función que más arriba mencioné también.

Esta puede ser una de las causas por qué "en un servidor va y en otro no" .. pero en mis "clientes" (navegadores) de pruebas en todos acepto las cookies de todo tipo.

Cita:
De todos modos gracias por la explicacion, cuando tenga tiempo ya probare primero de activar la propagacion del ID con el trans_sid(que seguramente resolvera el problema) i sino modificar los parametros de las cookies.
No va a solucionar tu problema . .sobre todo cuando redireccionas por un header("Location: ...") en PHP, o lo haces con javascript: window.location .. etc o usas cabeceras HTTP por HTML tipo <meta .. de refresh ...

En esos casos PHP NO sobre-escribe esos códigos para insertar el SID. En esos casos -igualmente- hay que hacerlo a mano (como lo haz hecho ahora).

Los "tag's" HTML que PHP sobre-escribe para insertar el SID en ellos son los que la directiva: url_rewrite_tags de tu php.ini definen .. (Y no hay forma de decirle ahí algo de código PHP que lo haga también o de javascript ..).

Por eso insisto tanto en el dichoso "SID" . .en que se basa y que tan necesario es que se "propague" como sea .. también en como PHP te "puede ayudar" en esto para que no tengas que hacerlo tu a mano en todo tu código .. o como hacerlo lo más transparente para tu aplicación pero con otros costos (cookies y que sean aceptadas).

Un saludo,
__________________
Por motivos personales ya no puedo estar con Uds. Fue grato haber compartido todos estos años. Igualmente los seguiré leyendo.
  #21 (permalink)  
Antiguo 20/08/2006, 09:46
 
Fecha de Ingreso: noviembre-2003
Mensajes: 50
Antigüedad: 20 años, 5 meses
Puntos: 1
puede ser que sea un poblema de configuracion de las cookies.. es bastante probable.de todos modos ya he desistido y envio el sid por get i punto final.. gracias de todos modos.. cuando tenga mas tiempo y sobretodo haga menos calor ya me mirare todo el tema a fondo
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 19:02.