Sab Abr 28, 2007 5:42 pm
|
 |
Lor
Perlero Nuevo

|
Registrado: 28 Abr 2005
Mensajes: 99
Ubicación: Argentina, Santa FE
|
|
| CGI::Session |
|
|
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: | Perl: | my $session = new CGI:: Session("driver:mysql", undef, { Handle => $dbh});
my $s= $session-> id();
print " Identificador de session: $s "; | 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.  |
|
|
|

Sab Abr 28, 2007 7:08 pm
|
 |
explorer
Moderador

|
Registrado: 24 Jul 2005
Mensajes: 4225
Ubicación: Valladolid, España
|
|
|
|
|
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. |
|

Powered by phpBB © 2001, 2005 phpBB Group
|