Lun Jun 20, 2005 8:37 am
|
 |
rorris
Perlero Nuevo

|
Registrado: 14 Jun 2005
Mensajes: 21
|
|
| Sesiones otra vez. |
|
|
Hola. Les escribo porque me estoy volviendo un poco loco con el tema de las sesiones. He leido el post que hay en el foro y todavia no he conseguido lo que quiero. Mi proposito es que todo usuario identificado en mi web reciba una cookie, para simular el tema de sesiones. Mi script:
#!/usr/bin/perl -w
use CGI qw/:standard/;
use CGI::Session;
use DBI;
print "Content-type: text/html\n\n";
#recibo los parametros.
my $alias = param('txtUsuario');
my $contrasena = param('txtContrasena');
#Validacion del usuario.
......
#Creo la sesion
$sesion = new CGI::Session(undef, undef, {Directory=>'/tmp'});
#Personalizo la sesion.
$sesion->param('Alias',$alias);
#Le dejo 10 minutos de sesion.
$sesion->expires("+10m");
#Se supone que este metodo crea la cookie, pero miro en el navegador y no es asi.
$nombre = $sesion->header();
Parece sencillo, pero no se crea la cookie. Pasa algo? En las instrucciones de CPAN pone que asi se crea la cookie y he visto por otro lado que la comprobacion de la cookie de sesion a partir de ese momento es transparente.
Ayuda please que como veis estoy un poquito pez en este tema.
Gracias de antemano,, muchas gracias. |
|
|
|

Lun Jun 20, 2005 12:16 pm
|
 |
kidd
Creador de Perl en Español

|
Registrado: 15 Oct 2003
Mensajes: 1389
Ubicación: México
|
|
|
|
|
Hola:
En el manual dice:
| Cita: |
header()
header() is simply a replacement for CGI.pm's header() method. Without this method, you usually need to create a CGI::Cookie object and send it as part of the HTTP header:
$cookie = new CGI::Cookie(-name=>'CGISESSID', -value=>$session->id);
print $cgi->header(-cookie=>$cookie);
You can minimize the above into:
$session->header()
It will retrieve the name of the session cookie from $CGI::Session::NAME variable, which can also be accessed via CGI::Session->name() method. If you want to use a different name for your session cookie, do something like following before creating session object:
CGI::Session->name("MY_SID");
$session = new CGI::Session(undef, $cgi, \%attrs);
Now, $session->header() uses "MY_SID" as a name for the session cookie.
|
Entonces creo que te falta hacer el print:
| Código: |
print $session->header();
|
SALUDOS |
|

Lun Jun 20, 2005 5:11 pm
|
 |
rorris
Perlero Nuevo

|
Registrado: 14 Jun 2005
Mensajes: 21
|
|
| Me di cuenta nada mas publicar el post |
|
|
Si, era eso. Me di cuenta nada mas hacer la pregunta. A parte, hacia otra cosilla mal, pero ya esta arreglado. De todas formas MUCHAS GRACIAS, KIDD. GRACIAS DE VERDAD.
Un saludo. |
|
Powered by phpBB © 2001, 2005 phpBB Group
|