Problemas con sesiones
Publicado: 2012-09-20 08:41 @403
Mi problema es que agrego unos datos a una sesión y no tengo problemas,
pero solo en un método en CGI-APP se me presenta un problema, que al imprimir el contenido de esa sesión observo unos hash extraños...
Esta es mi función de agregar.
Este es el código de display
Aquí el Dumper que tengo en la línea 12 me arroja esto:
y en el dumper de la línea 34 me arroja algo así:
lo único que hago es actualizar la página y ya veo ese hash, y entre más productos adicione más de esos anónimos me salen...
pero solo en un método en CGI-APP se me presenta un problema, que al imprimir el contenido de esa sesión observo unos hash extraños...
Esta es mi función de agregar.
Using perl Syntax Highlighting
- sub cart_add{
- my $self= shift;
- my $dbh = $self->dbh;
- my $q = $self->query();
- my $item = MyApp::Db::Stock::Item->new($dbh);
- $item->retrieve($q->param('item'));
- my $total = $self->session->param('total_cesta') + $item->{'data'}->{'price'};
- my $cesta = $self->session->param('cart');
- #die Dumper $item->{'data'};
- if ( defined( $cesta->{ $item->{'data'}->{'item_id'} } ) ){
- $cesta->{ $item->{'data'}->{'item_id'} }->{'cant'}++;
- }else{
- my $h = {
- 'id' => $item->{'data'}->{'item_id'},
- 'name' => $item->{'data'}->{'name'},
- 'price' => $item->{'data'}->{'price'},
- 'cant' => 1
- };
- $cesta->{ $item->{'data'}->{'item_id'} } = $h;
- }
- $self->session->param( total_cesta => $total );
- $self->session->param( cart => $cesta );
- my $items = $self->session->param('cart') ;
- #die Dumper $items;
- $self->redirect("shoppingcart.pl?mode=display");
- }
Coloreado en 0.004 segundos, usando GeSHi 1.0.8.4
Este es el código de display
Using perl Syntax Highlighting
- sub cart_display{
- my $self=shift;
- my $items = $self->session->param('cart') ;
- my @items2;
- my $dbh = $self->dbh;
- my $q = $self->query();
- my $system = MyApp::Db::System->new($dbh);
- $system->retrieve(1);
- my $language = $self->current_language;
- my $template = $system->{'data'}->{'template'};
- die Dumper $items;
- foreach my $it (%$items){
- my $item = MyApp::Db::Stock::Item->new($dbh);
- #die Dumper $it;
- if( $item->retrieve($items->{$it}->{'id'})){
- $items->{$it}->{'thumb'} = $item->{data}->{thumb};
- push @items2, $items->{$it}
- }
- }
- my $vars = {
- items => \@items2,
- total => $self->session->param('total_cesta') ,
- url_site => $self->cfg('site_url'),
- url_template => "templates/"."$language/$template"
- };
- my $c = $self->tt_process('templates/'.$self->current_language.'/'.$self->cfg('template_name').'/cart_display.html',$vars);
- die Dumper $items;
- # die Dumper $vars;
- $self->display_site($$c);
- }
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4
Aquí el Dumper que tengo en la línea 12 me arroja esto:
- $VAR1 = { '7' => { 'name' => 'Bolso 5028', 'id' => '7', 'price' => 0, 'cant' => 1 } };
y en el dumper de la línea 34 me arroja algo así:
- $VAR1 = { '6' => { 'name' => 'Bolso 5026', 'id' => '6', 'price' => 0, 'cant' => 1, 'thumb' => 'default.jpg' }, 'HASH(0x2960c58)' => {} };
lo único que hago es actualizar la página y ya veo ese hash, y entre más productos adicione más de esos anónimos me salen...