Using Apache::Session for storing form data as opposed to database columns

I

ioneabu

I realize that searching for data this way is not as efficient, but it
makes it easy if a form changes, there is no need to change a database
structure. I was wondering if others do it this way, saving all of
their web form data to a hash and putting it in Apache::Session to call
out later with the session id number. It's like leaving your clothes
at the dry cleaners and taking a ticket home to retrieve the clothes at
a later time.

Here is a sub I wrote to handle the work:

sub session_handler
{
my ($dbh,$hash_ref,$sess_id_ref,$action) = @_;
my %session;
tie %session, 'Apache::Session::MySQL', $$sess_id_ref,
{Handle=>$dbh, LockHandle=>$dbh};
$$sess_id_ref = $session{'_session_id'};
if ($action =~ /write/i)
{$session{$_} = ${$hash_ref}{$_} for keys %{$hash_ref}}
elsif ($action =~ /read/i)
{${$hash_ref}{$_} = $session{$_} for keys %session}
elsif ($action =~ /delete/i) {tied(%session)->delete}
}


the hash referenced by $hash_ref is either filled with data or is to be
filled with data depending on the value of $action. Same with
$sess_id_ref.

It is tested and appears to work fine. I started with a big mess of
code and tried to clean it up by using statement modifiers.

Any advice on code would be appreciated and on the soundness of the
overall method of using Apache::Session for storing fairly large
amounts of important data from html forms.

Thanks,

wana
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,020
Latest member
GenesisGai

Latest Threads

Top