Estoy intentando hacer un simple sistema de acceso para usuarios, estoy trabajando con el módulo CGI::Session del cual he leído documentación pero no logro entender mi problema.
Manejo dos scripts, uno para acceder y otro para ver el contenido.
Si los datos de acceso son correctos (usuario y contraseña) el script 1º me crea una sesión
Using perl Syntax Highlighting
# script1.pl
# Si nombre de usuario y contraseña son correctas entonces crea la sesión
$session = new CGI::Session("driver:File", undef, {Directory => '/ruta/a/directorio/con/permisos/de/escritura'});
# Si no, entonces muestra el formulario de acceso
# Si nombre de usuario y contraseña son correctas entonces crea la sesión
$session = new CGI::Session("driver:File", undef, {Directory => '/ruta/a/directorio/con/permisos/de/escritura'});
# Si no, entonces muestra el formulario de acceso
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
En el otro script uso load() para verificar que la sesión no haya expirado y/o que no esté vacía
Using perl Syntax Highlighting
# script2.pl
$session = CGI::Session->load();
if($session->is_expired) {
# La sesión expiró
}elsif($session->is_empty){
# El usuario no se ha logeado
}else{
# Muestra el contenido
}
$session = CGI::Session->load();
if($session->is_expired) {
# La sesión expiró
}elsif($session->is_empty){
# El usuario no se ha logeado
}else{
# Muestra el contenido
}
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4
El problema radica en que no importa si el nombre de usuario y la contraseña sean correctas, ni tampoco que la sesión se genere en el directorio correctamente, al entrar al segundo script me dice que el usuario no se ha logeado ("is_empty").
¿Alguien tiene alguna pista de lo que pudiera estar pasando?.
Gracias de antemano.
¡¡ saludos !!