• Publicidad

CGI::Session

Aquí encontrarás todo lo que sea específicamente acerca de módulos de Perl. Ya sea que estás compartiendo tu módulo, un manual o simplemente tienes una duda acerca de alguno.

CGI::Session

Notapor Lor » 2007-04-28 18:42 @820

Agradecería muchísimo si me pudiesen ayudar en lo siguiente:

Quiero trabajar con sesiones CGI::Session almacenando todo en una tabla "sessions" de Mysql.

Los módulos que tengo instalados son CGI::Session , CGI::Session::ODBC y no tengo CGI::Session::MYSQL porque no está disponible para Windows versión Perl 5.8.3.

Preguntas:
1) La tabla session creada según especificaciones que el módulo indica debe estar en una base de datos "sessions" o puede estar con otras tablas.

2) Intento hacer:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
my $session = new CGI::Session("driver:mysql", undef, { Handle => $dbh});
my $s= $session->id();
print " Identificador de session:   $s ";
Coloreado en 0.003 segundos, usando GeSHi 1.0.8.4
y no pasa nada. No puedo detectar el error.

3) si esto funcionara, una vez que comienzo a guardar datos de la sesión en la tabla, ¿dónde los guarda? ¿en el campo a_session?

¿Me podrían ayudar cómo lograr esta implementación?

Muchísimas gracias. :D
Lor
Perlero nuevo
Perlero nuevo
 
Mensajes: 187
Registrado: 2005-04-28 05:47 @282

Publicidad

Notapor explorer » 2007-04-28 20:08 @881

Yo no he probado ninguno de los módulos que comentas, pero voy a intentar darte algunas pistas.

* Intenta usar siempre la versión más moderna de Perl. Ahora estamos en la 5.8.8.
* La documentación es tu amiga. Dice CGI::Session que CGI::Session::MySQL necesita de los módulos DBI y DBD::mysql.
* Si no pone que la tabla debe estar en una base de datos determinada es que esa tabla debe residir en la base de datos abierta y referenciada por el handle $dbh (en el ejemplo), por lo que ANTES de iniciar la sesión ya se ha producido la conexión con la base de datos.
* Si se produce algún error en alguna llamada a algún método, es muy posible que obtengas algún valor de retorno que indique qué fallo ocurrió, a veces en el valor que devuelve el método y otras veces en la variable especial $!. Pinta las dos. Consulta el manual si indica qué valores devuelven en caso de fallo.
* En cuanto a dónde almacena la información, toda la documentación de CGI::Session te orienta a que eso no te importa. Quiero decir que una vez que ejecutas la línea del new(), el tratamiento de las sesiones es idéntica independientemente si es en un fichero de texto o en una MySQL, por lo que los detalles te quedan ocultados y tú sólo te preocupas de recuperar y almacenar sesiones. De todas formas, siempre puedes recuperar la información de forma directa... estamos hablando de Perl.
JF^D Perl programming & Raku programming. Grupo en Telegram: https://t.me/Perl_ES
Avatar de Usuario
explorer
Administrador
Administrador
 
Mensajes: 14480
Registrado: 2005-07-24 18:12 @800
Ubicación: Valladolid, España


Volver a Módulos

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 6 invitados

cron