Foros del Web » Programando para Internet » PHP »

sesiones en php4 y php5

Estas en el tema de sesiones en php4 y php5 en el foro de PHP en Foros del Web. Hasta ahora trabajaba con un servidor que tenia instalada la version 4 de php. He cambiado a uno que tiene php5 y ahora no reconoce ...
  #1 (permalink)  
Antiguo 01/08/2006, 08:59
 
Fecha de Ingreso: agosto-2005
Mensajes: 15
Antigüedad: 18 años, 8 meses
Puntos: 0
sesiones en php4 y php5

Hasta ahora trabajaba con un servidor que tenia instalada la version 4 de php. He cambiado a uno que tiene php5 y ahora no reconoce las sesiones. Para hacer una prueba, este codigo me inicia la sesion en php4 pero no en php5:

Código:
<?php

session_id ("temp");
session_start();

if ($_SESSION) {
print_r ($_SESSION);
}

$_SESSION['test'] = "Si escribo esto la sesion funciona";

?>
<a href="beta2.php">actualizar</a>



¿Hay que cambiar la manera de generar las sesiones en php5 o es que hay algo mal configurado en el servidor? Espero que alguien pueda aclararmelo, gracias.
  #2 (permalink)  
Antiguo 01/08/2006, 09:08
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 22 años, 3 meses
Puntos: 129
session_id ("temp");

Eso no es correcto .. o por lo menos según el enfoque que pareces darle.

Si quieres definir un nombre (no el por defecto) de una sesión en PHP debes usar la función:

session_mame()
www.php.net/session_mame

(y si lo usas .. tendrás que definirlo en todos los scripts que usen sesiones y antes de session_start() ..)

El uso de los arrays superglobales $_SESSION es correcto ..

Lo que si que puedes tener diferencias es como se propaga el SID .. TU en tu código "asumes" que se propagará automáticamente .. ¿cómo? .. no sé, .. por el URL o cookies (en principio por tu código y link que indicas .. se podría hacer por cualquier forma). Revisa tu configuración de PHP y confirma como propagas el SID según configuración; directivas:

session.use_trans_sid
session.use_cookies
session.use_only_cookies
etc ..

Eso sí .. no uses:
if ($_SESSION) {

usa:
Código PHP:
if (!empty($_SESSION)){ 
para ese tipo de validaciones.

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 01:32.