sigue el mismo problema con sesion_start() .

pakoflorez
13 de Enero del 2005
Saludos.
Sigo teniendo el mismo problema con las sesiones. Me explico nuevamente :
Tengo un script donde inicio una sesion y registro varias variables de sesion, luego envio esas variables a un segundo script donde deberia poder utilizarlas.

El código del primer script es
<? session_start();
$user=$usuario;
session_register('user');
header("Location: script2.php");
?>

luego, en el script2 tengo lo siguiente:
<? session_start();
if (isset($_SESSION['user']))
haz esto;
else
haz aquello;
?>

El problema es que $_SESSION['user'] aparece sin valor alguno a pesar de haberle asignado un valor correcto. Se supone que cada vez que un script ejecuta sesion_start deberia crearse un id de sesion para el usuario, pero cada vez que un script ejecuto session_start() se crea una nueva cookie. He estado haciendo pruebas y he observado que la primera vez que se ejecuta la instruccion session_start() el directorio session (que almacena las cookies de sesion en php) se crea una cookie de sesion.
Hasta este punto puedo registrarbien variables y las puedo utilizar sin problema.
El problema viene cuando se abre otra pagina, pues debo inicializar la sesion para usar mis variables y ejecuto para ello session_start(), Y ocurre que en el directorio session se genera una cookie nueva la cual esta totalmente vacía, por lo tanto al solicitar .
Espero haber podido explicar correctamente el problema, y ojala alguien pueda ayudarme.
Gracias de antemano

samaruc2k
13 de Enero del 2005
Creo que el problema lo tienes en que en el primer script no asignas $_SESSION['user']=$user; con lo que en el segundo la variable está vacia.

Salud2

oso96_2000
13 de Enero del 2005
el session_register() ya no se usa...
mejor, para asignar la variable de sesion.. q sea asi:
<?php
session_start();
$_SESSION['user']=$usuario;
header("Location: script2.php");
?>

y donde las lees:
<?php
session_start();
if(isset($_SESSION['user'])){
//Si esta la variable de sesion.. q hacemos?
}else{
//y si no esta?
}
?>