Foros del Web » Programando para Internet » PHP »

Problema con sesiones en php con los navegadores excepto en chrome

Estas en el tema de Problema con sesiones en php con los navegadores excepto en chrome en el foro de PHP en Foros del Web. Saludos a todos soy nuevo en el foro y también en el manejo de php. Como estoy aprendiendo he estado probando con ejemplos simples las ...
  #1 (permalink)  
Antiguo 12/10/2010, 17:31
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 13 años, 6 meses
Puntos: 0
Problema con sesiones en php con los navegadores excepto en chrome

Saludos a todos soy nuevo en el foro y también en el manejo de php. Como estoy aprendiendo he estado probando con ejemplos simples las caracteristicas del lenguaje y bien ahora tengo un problema en cuanto a las sesiones.

Resulta que tengo este codigo bastante simple en php para la prueba de las sesiones (lo estoy probando en local):

index.php

Código PHP:
<?php
session_start
();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
       <?php
        $_SESSION
['usr'] ="Esta cadena debe estar en la segunda p&aacute;gina<br>";
        echo 
"<br>Prueba:<br>" .$_SESSION['usr'];
        
?>
        <a href="pag2.php">Pasar a la siguiente p&aacute;gina</a>
    </body>
</html>
y pag2.php:

Código PHP:
<?php
session_start
();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        
echo "La cadena es: " .$_SESSION['usr'];
        
?>
    </body>
</html>
Como veran es bastante simple, solo me tiene que mostrar la cadena que guarde en la página index.php.

Pero resulta que no la muestra en los navegadores firefox, IE y Opera, solo en el google chrome la muestra. Los he probado con las configuraciones por default de cada uno y también con las cookies activas, pero sigue sin mostrar nada.

Tambien he pasado la sesion por url pero lo mismo, y me he dado cuenta que lo que hacen los exploradores es crearme una nueva sesion asi que por logica no muestra la cadena, pero quisiera saber por que como he dicho el google chrome es el unico que no hace esto.

Tambien habia leido que firefox presentaba a veces problemas si se ponia localhost asi que lo he cambiado a 127.0.0.1, pero persiste el problema.

Las versiones que utilizo son de Firefox 3.6.10, Opera 10.62, IE 8, y Google chrome 6.

El SO un Windows 7, servidor Apache 2.2 y PHP 5.3.3 Win32-VC6-x86.

Adjunto también la configuracion de sesiones del php.ini

Código:
[Session]

session.save_handler = files

session.save_path = "C:\Servidor\php\sesiones"

;session.save_path = "N;MODE;/path"

;session.save_path = "/tmp"

session.use_cookies = 1

;session.cookie_secure =

session.use_only_cookies = 1

session.name = PHPSESSID

session.auto_start = 0

session.cookie_lifetime = 0

session.cookie_path = \

session.cookie_domain =

session.cookie_httponly =

session.serialize_handler = php

session.gc_probability = 1

session.gc_divisor = 1000

session.gc_maxlifetime = 1440

session.bug_compat_42 = On

session.bug_compat_warn = On

session.referer_check =

session.entropy_length = 0

session.entropy_file =

session.cache_limiter = nocache

session.cache_expire = 180

session.use_trans_sid = 0

session.hash_function = 0

session.hash_bits_per_character = 5
Espero no haberlos aburrido despues de tanta letra pero queria exponer lo que he hecho y lo que tengo para que me ayuden a entender el origen de este problema. Les mando saludos y espero me puedan ayudar.
  #2 (permalink)  
Antiguo 14/10/2010, 08:01
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problema con sesiones en php con los navegadores excepto en chrome

Hola elektro, tu código me funciona perfectamente en todos los navegadores que mencionas, comprueba que exista la carpeta donde guardas los archivos de session y que tengas los permisos necesarios.
El resto no tiene mayor complicación, también pon el display_errors en ON a ver si sale algo. Un saludo
  #3 (permalink)  
Antiguo 14/10/2010, 08:06
Avatar de eits  
Fecha de Ingreso: junio-2005
Ubicación: valladolid, yucatán
Mensajes: 1.655
Antigüedad: 18 años, 10 meses
Puntos: 88
Respuesta: Problema con sesiones en php con los navegadores excepto en chrome

como dice el compañero repra2 checa que exista esta ruta C:\Servidor\php\sesiones.
saludos.
__________________
El amor es la locura mas lucida que tiene el hombre.- Andres Henestrosa
la tristeza no existe, solo es... la ausencia de la felicidad.
  #4 (permalink)  
Antiguo 14/10/2010, 10:04
 
Fecha de Ingreso: mayo-2005
Mensajes: 284
Antigüedad: 19 años
Puntos: 11
Respuesta: Problema con sesiones en php con los navegadores excepto en chrome

Al tener
session.use_only_cookies = 1
Ten en cuenta que no sirve pasar la sessión en la URL, tienes que tener activados si o si las cookies.
Prueba poner esa variable a 0 asi podrás pasar la sesion en la URL y ver que pasa. Si funciona con la URL entonces el problema esta en las cookies de los navegadores que no funcionan.
  #5 (permalink)  
Antiguo 14/10/2010, 16:08
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema con sesiones en php con los navegadores excepto en chrome

Muchas gracias por responder, a repara2 y eits el archivo sesiones existe y cuento con todos los permisos el aviso que me manda es este:

Código:
Notice: Undefined index: USR in C:\Servidor\Apache\htdocs\Practicas\pag2.php on line 10
La cadena es:
perdon por no ponerlo antes, a mi entender no reconoce el valor por lo razón de que no se mantiene la sesión.

Al compañero enridp, gracias por el dato no me había dado cuenta de ese detalle ahora ya se puede pasar mediante la url y funciona, pero quisiera saber por que no mediante las cookies, ya que están habilitadas en todos los navegadores.

De antemano gracias y Saludos.
  #6 (permalink)  
Antiguo 15/10/2010, 01:16
Avatar de repara2  
Fecha de Ingreso: septiembre-2010
Ubicación: München
Mensajes: 2.445
Antigüedad: 13 años, 7 meses
Puntos: 331
Respuesta: Problema con sesiones en php con los navegadores excepto en chrome

Más debug elektro, estás cerca de la solucion:

Código PHP:
<?php
error_reporting
(E_ALL);
ini_set("display_errors",1);

session_start();
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
       <?php
        $_SESSION
['usr'] ="Esta cadena debe estar en la segunda p&aacute;gina<br>";
        echo 
"<br>Prueba:<br>" .$_SESSION['usr'];
        
?>
        <a href="2.php">Pasar a la siguiente p&aacute;gina</a>
    </body>
</html>
<?php
echo "El array de sessiones tiene<br>";
print_r($_SESSION);
?>
Código PHP:
<?php

error_reporting
(E_ALL);
ini_set("display_errors",1);

session_start();
echo 
"El array de sessiones tiene<br>";
print_r($_SESSION);
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title></title>
    </head>
    <body>
        <?php
        
echo "La cadena es: " .$_SESSION['usr'];
        
?>
    </body>
</html>
  #7 (permalink)  
Antiguo 15/10/2010, 13:13
 
Fecha de Ingreso: octubre-2010
Mensajes: 3
Antigüedad: 13 años, 6 meses
Puntos: 0
Respuesta: Problema con sesiones en php con los navegadores excepto en chrome

Muchas gracias por el dato repara2, pude verificar que en efecto no mantenía en el arreglo de sesiones la cadena ingresada, pero después de investigar y checar varias configuraciones de ini al parecer el error estaba en esta linea:

Código:
session.cookie_path = \
al parecer debía ser así:

Código:
session.cookie_path = /
al menos en mi servidor, por que al cambiarlo funciono en todos los navegadores. Lamento mucho los inconvenientes causados, pero gracias a este error ya se mas de las sesiones.

Les agradezco a repara2, enridp y a eits, el apoyo para solucionar este problema, ¡Gracias! y espero que si surgen otros problemas me puedan ayudar, saludos!!

Etiquetas: chrome, navegadores, 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 13:43.